http://blog.csdn.net/acmain_chm/article/details/4095531 MySQL中的ROWNUM的实现 MySQL 几乎模拟了 Oracle,SQL Server等商业数据库的大部分功能,函数。但很可惜,到目前的版本(5.1.33)为止,仍没有实现ROWNUM这个功能。 下面介绍几种具体的实现方法.建立实验环境如下mysql> create table tbl ( -> id int primary key, -> col int -> );Que...
第一种 SET @rn = 0;SELECT *,@rn:=IFNULL(@rn,0)+1 FROM tb ORDER BY score DESC;第二种 SELECT *,(SELECT COUNT(*) FROM (SELECT * FROM tb GROUP BY score) AS c WHERE c.score>b.score)+1 AS rank FROM tb AS b;第三种 SELECT *,(SELECT COUNT(*) FROM tb WHERE score>b.score)+1 AS rank FROM tb AS b;
在MySql下没有,楼主可参考:
http://bbs.csdn.net/topics/300240370
http://gzy551536.blog.sohu.com/230943189.html
http://blog.sina.com.cn/s/blog_5165537f0100ys2b.html
MySQL中的ROWNUM的实现
MySQL 几乎模拟了 Oracle,SQL Server等商业数据库的大部分功能,函数。但很可惜,到目前的版本(5.1.33)为止,仍没有实现ROWNUM这个功能。 下面介绍几种具体的实现方法.建立实验环境如下mysql> create table tbl ( -> id int primary key, -> col int -> );Que...
SET @rn = 0;SELECT *,@rn:=IFNULL(@rn,0)+1 FROM tb ORDER BY score DESC;第二种
SELECT *,(SELECT COUNT(*) FROM (SELECT * FROM tb GROUP BY score) AS c WHERE c.score>b.score)+1 AS rank FROM tb AS b;第三种
SELECT *,(SELECT COUNT(*) FROM tb WHERE score>b.score)+1 AS rank FROM tb AS b;