Mysql 实现 Rownum() 排序后根据条件获取名次
2016-05-09 16:22
661 查看
初始化表结构
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;
结果
条件查询
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添加远程用户
- mysql 定期备份的 .sh
- MySql5.7.12免安装版配置以及服务无法启动问题解决方法
- MySql5.7.12免安装版配置以及服务无法启动问题解决方法
- win7 安装 MySQL 5.7 配置方法
- MySQL查询优化之explain
- MySQL学习9:详解MySQL中的外键约束
- 查询mysql的QPS
- mysql中复制表数据(select into from和replace into select)
- MYSQL主从同步故障!
- MySQL带参数的存储过程小例子
- pdo_mysql 安装
- MySQL sql-mode
- mysql查询优化技巧
- mysql分表和表分区详解
- mysql 1615 Prepared statement needs to be re-prepared
- MySQL InnoDB 共享表空间和独立表空间
- MySQL 分区
- MySql笔记-事务处理
- MySQL 几个比较重要的用法总结