关于查询sql中数据上一条记录和下一条记录的sql语句......
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于查询sql中数据上一条记录和下一条记录的sql语句......相关的知识,希望对你有一定的参考价值。
string preSql = "select top 1 * from news where news_id < " + id + " order by news_id DESC" string nextSql = "select top 1 * from news where news_id > " + id + " order by news_id ASC" 这是表示查询下一条和上一条 sql记录的语句,那里面的id是怎么确定的,麻烦高手些解决下;说的是什么参数....?????
可用row_number来解决。
如student表
id name create_date
1 张三 2015-07-01
2 李四 2015-06-01
3 王五 2015-08-01
4 赵六 2015-04-01
如,要查找张三的create_date前和后各一条数据。
with t as(select student.*,row_number() over(order by create_date) rn from student)
select * from student where rn=(select t.rn+1 from t where t.name=\'张三\')
union all
select * from student where rn=(select t.rn-1 from t where t.name=\'张三\')
结果应是:
id name create_date
2 李四 2015-06-01
3 王五 2015-08-01
参考技术A news_id必须是整形,一般来说,这里应该是自增列,通过输入当前的ID,查询比它大的第一条记录,来达到查询下一条的目的,实现方法比较简单和巧妙。 参考技术B news_id 自增类型,或者有一定规律的数值类型,外面程序获取的id这个就看你怎么存放了,一般是放在url的参数里,比如 http://www.baidu.com/news.html?id=1sql查询上一条记录和下一条记录
上一条记录的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
开发中遇到需要在当前页面显示当前文章的上一篇文章和下一篇文章,百度了一下,搜索到以上SQL语句:
以上是关于关于查询sql中数据上一条记录和下一条记录的sql语句......的主要内容,如果未能解决你的问题,请参考以下文章