为 MySQL 的查询结果添加排名字段
2014-03-26 17:08
741 查看
http://www.oschina.net/question/12_63477
正在用 MySQL 客户端的时候,突然想到如果可以给查询结果添加排名该多好啊,然后就找到了一个简单的解决办法。
下面是一个示例表的数据:
然后我们要根据 Roll_No 字段进行排序并给出排名,我们首先必须定义一个初始值为0的变量,然后在查询结果中使用这个变量。
如下面的代码:
执行该语句的结果如下:
更多关于自定义变量的内容请看 MySQL 的文档。
英文原文,OSCHINA原创翻译
红薯
发帖于 1年前
5回/2060阅
标签:
MySQL OSCHINA原创翻译
举报
| 分享到
0收藏(11)
0
归海一刀1年前
有用!先收藏了。。。
评论(0)| 引用此评论|
举报
0
刘健1年前
@红薯 查询语句超出屏幕太多,这里要是能自动换行好点
--- 共有 1 条评论 ---
红薯手机上会这样,没辙哦:) (1年前)
评论(1)| 引用此评论|
举报| 来自 Android
0
浮生如斯1年前
SELECT (SELECT COUNT(ROLL_NO) FROM StudentsWHERE s.ROLL_NO <= ROLL_NO) AS Rank, s.LastName, s.Roll_noAS RollFROM Studentss ORDER BY s.Roll_noASC; O(∩_∩)O哈哈~ 这个不用自定义变量 不过好麻烦 不知道 MySql 有没有 自增列的关键字 直接可以在查询中生成一个自增的那种 记得SqlServer 就有一个( ⊙ o ⊙ )啊!
评论(0)| 引用此评论|
举报
0
八宝旗1年前
1条sql搞定
SELECT
--- 共有 2 条评论 ---
八宝旗回复 @浮生如斯 :
这个好像不行,因为这个排名字段数据库中并没有存储,如果找到这种方法,麻烦也告我下,学习学习:) (1年前)
浮生如斯怎么可以不用自定义变量
搞定 这个 而且 查询语句又短的 (1年前)
评论(2)| 引用此评论|
举报
0
mark351年前
pgsql,ora有窗口函数干这活
正在用 MySQL 客户端的时候,突然想到如果可以给查询结果添加排名该多好啊,然后就找到了一个简单的解决办法。
下面是一个示例表的数据:
然后我们要根据 Roll_No 字段进行排序并给出排名,我们首先必须定义一个初始值为0的变量,然后在查询结果中使用这个变量。
如下面的代码:
1 | SET @counter=0; |
2 |
3 | SELECT @counter:=@counter+1 AS Rank,LastName,Roll_no as Roll FROM Students ORDER BY Roll_no ASC ; |
更多关于自定义变量的内容请看 MySQL 的文档。
英文原文,OSCHINA原创翻译
红薯
发帖于 1年前
5回/2060阅
标签:
MySQL OSCHINA原创翻译
举报
| 分享到
0收藏(11)
按默认排序 显示最新评论 共有5个评论 (最后回答:
1年前)
0归海一刀1年前
有用!先收藏了。。。
评论(0)| 引用此评论|
举报
0
刘健1年前
@红薯 查询语句超出屏幕太多,这里要是能自动换行好点
--- 共有 1 条评论 ---
红薯手机上会这样,没辙哦:) (1年前)
评论(1)| 引用此评论|
举报| 来自 Android
0
浮生如斯1年前
SELECT (SELECT COUNT(ROLL_NO) FROM StudentsWHERE s.ROLL_NO <= ROLL_NO) AS Rank, s.LastName, s.Roll_noAS RollFROM Studentss ORDER BY s.Roll_noASC; O(∩_∩)O哈哈~ 这个不用自定义变量 不过好麻烦 不知道 MySql 有没有 自增列的关键字 直接可以在查询中生成一个自增的那种 记得SqlServer 就有一个( ⊙ o ⊙ )啊!
评论(0)| 引用此评论|
举报
0
八宝旗1年前
1条sql搞定
SELECT
@counter:=@counter+1
AS
Rank,LastName,Roll_no
as
Roll
FROM
Students,(SELECT @counter:=0) AS t
ORDER
BY
Roll_no
ASC
;
--- 共有 2 条评论 ---
八宝旗回复 @浮生如斯 :
这个好像不行,因为这个排名字段数据库中并没有存储,如果找到这种方法,麻烦也告我下,学习学习:) (1年前)
浮生如斯怎么可以不用自定义变量
搞定 这个 而且 查询语句又短的 (1年前)
评论(2)| 引用此评论|
举报
0
mark351年前
pgsql,ora有窗口函数干这活
相关文章推荐
- MySQL中给自定义的字段查询结果添加排名的方法
- MySQL中给自定义的字段查询结果添加排名的方法
- 为 MySQL 的查询结果添加排名字段
- mysql在查询结果中自动添加序号字段列
- mysql排序字段相同每次查询出的来结果都不一样
- MySQL给查询结果添加一表表示行号或名次(2)
- 在Mysql查询的结果中添加每一列的序列号
- 给mysql查询结果添加序号
- MySQL给查询结果添加一表表示行号或名次(1)
- MySQL添加中文查询结果在乱码的解决方法
- mysql查询结果添加序列号
- mysql简单实现查询结果添加序列号
- mysql查询结果添加序列号
- mysql中如何将查询结果的多个记录中的指定字段放到一个二维数组中,以及在in子句中使用数组
- mysql查询结果添加序列号
- MYSQL 查询不同条件,但是同一个字段的结果
- MySQL 将查询结果,加入一个自定义固定值字段,插入另外一张表
- 从Mysql查询的结果,写入txt文件中,每个字段用|分隔,下一条数据要换行
- 在mysql中给查询的结果添加序号列
- 在mysql中给查询的结果添加序号列