为 MySQL 的查询结果添加排名字段
转自? http://www.oschina.net/question/12_63477
?
我正在用 MySQL 客户端的时候,突然想到如果可以给查询结果添加排名该多好啊,然后就找到了一个简单的解决办法。
下面是一个示例表的数据:
然后我们要根据 Roll_No 字段进行排序并给出排名,我们首先必须定义一个初始值为0的变量,然后在查询结果中使用这个变量。
如下面的代码:
更多关于自定义变量的内容请看 MySQL 的文档。
?
用一条sql搞定:
?
SELECT (SELECT COUNT(ROLL_NO) FROM Students WHERE s.ROLL_NO <= ROLL_NO) AS Rank, s.LastName, s.Roll_no AS Roll FROM Students s ORDER BY s.Roll_no ASC?