失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > mysql排序后显示行数_让mysql的查询结果显示行号的方法

mysql排序后显示行数_让mysql的查询结果显示行号的方法

时间:2018-12-29 01:49:45

相关推荐

mysql排序后显示行数_让mysql的查询结果显示行号的方法

若需要在查询语句返回的列中包含一列表示该条记录在整个结果集中的行号,ISO SQL: 标准提出的方法是提供 ROW_NUMBER() / RANK() 函数。

Oracle 中可以使用标准方法(8i版本以上),也可以使用非标准的 ROWNUM ;

MS SQL Server 则在 版本中提供了 ROW_NUMBER() 函数;

MySQL 中似乎还没有这样的系统自带功能。

解决方法:

通过预定义用户变量来实现。

复制代码 代码如下:

mysql> set @mycnt = 0;

mysql> select (@mycnt := @mycnt + 1) as ROWNUM , NAME from CHARBASE LIMIT 100;

这样查询出来的结果集中 ROWNUM 就保存了行编号信息。这个行编号信息的某种用途在于当你需要根据需要对数据按照某种规则排序并取出排序之后的某一行数据,并且希望知道这行数据在之前排序中的位置时就用得着了。

为了方便,我们通常将两句合起来执行,以避免变量全局自增:

复制代码 代码如下:

mysql> set @mycnt = 0; select (@mycnt := @mycnt + 1) as ROWNUM , NAME from CHARBASE LIMIT 100;

当然,也可以通过创建临时表的方法把查询结果写到某个拥有 auto_increment 字段的临时表中再做查询。

如果觉得《mysql排序后显示行数_让mysql的查询结果显示行号的方法》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。