开发者社区> 问答> 正文

MySQL怎么实现row_number

在MySQL中怎么去实现一个非常实用的row_number功能。

展开
收起
蛮大人123 2016-02-08 14:09:48 2887 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    row_number是一个返回数据排序编号的排名方法,从1开始。我们经常需要用到row_number去生成某些报表,不幸的是,MySQL并不像MSSQL,Oracle一样支持这个方法。在MySQL中如果想实现这个功能需要临时变量。
    为了在MySQL中实现row_number,需要在查询中实用临时变量,下图中从employees表中查询出5条数据,并且从1开始,为每一行添加了编号(row number)。
    1
    1
    在上面的查询中:
    首先,我们定义了一个变量叫做row_number,初始值为0,row_number是以@为前缀的一个临时变量。
    然后,在查询中,我们为这个变量每次+1,LIMIT分句是为了限制返回的结果数,此处设为5.
    另一个方法是使用临时变量作为派生表,联合主表。看下边的查询语句:
    1
    需要注意,派生表必须使用别名,以使查询语句在语法上没有问题。

    2019-07-17 18:39:37
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像