用户我不知道 发表于 2023-9-14 12:03:00

Oracle:使用“ order by”子句显示行号

我想知道如何在使用order的情况下为sql语句打印行号。目前,我尝试过,ROWNUM但据我了解,它仅适用于未排序的结果集。
SELECT rownum, a.lg_id, a.full_name, a.sort_order
FROM activity_type_lang a
where a.lg_id = 'en'
order by a.full_name;
TIA
               
解决方案:
               


                除了嵌套查询之外,您还可以使用解析函数
SELECT row_number() OVER (ORDER BY a.full_name),
       lg_id,
       full_name,
       sort_order
FROM activity_type_lang a
WHERE a.lg_id = 'en'
ORDER BY a.full_name
如果要更改联系的处理方式,使用分析功能还可以使工作更加轻松。您可以ROW_NUMBER用RANK或替换DENSE_RANK。
页: [1]
查看完整版本: Oracle:使用“ order by”子句显示行号