Mysql實現Rownum()排序后根據條件獲取名次_MySQL

初始化表結構

DROP TABLE IF EXISTS `data`;

CREATE TABLE `data` (

`dates` varchar(255) CHARACTER SET utf8 default NULL,

`id` int(11) DEFAULT NULL,

`result` varchar(255) CHARACTER SET utf8 DEFAULT NULL

);

INSERT INTO `data` (`dates`, `id`, `result`) VALUES (‘2015109101’, 1, ‘勝’);

INSERT INTO `data` (`dates`, `id`, `result`) VALUES (‘2015110101’, 2, ‘負’);

INSERT INTO `data` (`dates`, `id`, `result`) VALUES (‘2015109101’, 3, ‘負’);

INSERT INTO `data` (`dates`, `id`, `result`) VALUES (‘2015109101’, 4, ‘勝’);

INSERT INTO `data` (`dates`, `id`, `result`) VALUES (‘2015110101’, 5, ‘勝’);

INSERT INTO `data` (`dates`, `id`, `result`) VALUES (‘2015109101’, 6, ‘負’);

INSERT INTO `data` (`dates`, `id`, `result`) VALUES (‘2015109101’, 7, ‘勝’);

INSERT INTO `data` (`dates`, `id`, `result`) VALUES (‘2015110101’, 8, ‘負’);

排序

select @rownum:=@rownum+1 AS rownum,id,dates

from

`data`,(SELECT @rownum:=0) r

ORDER BY dates;

結果

?

Mysql實現Rownum()排序后根據條件獲取名次_MySQL

?

條件查詢

SELECT rownum,id

from

(select @rownum:=@rownum+1 AS rownum,id,dates

from

`data`,(SELECT @rownum:=0) r

ORDER BY dates)b

WHERE id =2;

結果

?

Mysql實現Rownum()排序后根據條件獲取名次_MySQL
? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享