加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – Oracle:使用’order by’子句显示行号

发布时间:2020-12-12 16:36:02 所属栏目:MsSql教程 来源:网络整理
导读:我想知道如何在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 解决方法 除了嵌套查询之
我想知道如何在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

使用分析功能也可以更容易地改变如何处理关系.您可以用RANK或DENSE_RANK替换ROW_NUMBER.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读