Mysql 查询当前数据上一条和下一条的记录
2016-02-19 17:36
681 查看
获取当前文件上一条与下一条记录的原理是上一条的sql语句,从news表里按从大到小的顺序选择一条比当前ID小的新闻,下一条的sql语句,从news表里按从小到大的顺序选择一条比当前ID大的新闻。
最简的就是如下写法
如果ID是主键或者有索引,可以直接查找:
方法1:
方法2:
最简的就是如下写法
上一条记录的SQL语句: select top 1 * from news where newsid<id order by newsid DESC 下一条记录的SQL语句: select top 1 * from news where newsid>id order by newsid ASC
如果ID是主键或者有索引,可以直接查找:
方法1:
1.select * from table_a where id = (select id from table_a where id < {$id} order by id desc limit 1); 2.select * from table_a where id = (select id from table_a where id > {$id} order by id asc limit 1);
方法2:
1.select * from table_a where id = (select max(id) from table_a where id < {$id}); 2.select * from table_a where id = (select min(id) from table_a where id > {$id});
相关文章推荐
- mysql 时间差问题集锦
- mysql数据优化方案
- MySql命令
- innodb快照读取
- 错误 1130: Host '***.***.***.***' is not allowed to connect to this MySQL
- c3p0连接池maxIdleTime小于mysql数据库interactive_timeout参数导致出现NewPooledConnection close Exception的解决办法
- Mysql避免全表扫描sql查询优化
- MySQL几个函数学习
- MySQL-InnoDB Compact 行记录格式
- 如何设计高效合理的MySQl查询语句
- WIN7下MYSQL的非安装版解压安装方法
- 64位MYSQL5.6安装配置
- Mysql详解之锁
- MySQL索引原理与慢查询优化
- 读取逗号分隔的字符串并逐条插入表mysql
- MySQL无法连接[MySql Host is blocked because of many connection errors]
- mysql max_allowed_packet 设置过小导致记录写入失败
- 安装unixODBC安装连接mysql
- Ubuntu中MySQL数据库安装
- Mysql-5.7.10启动失败 。