如何获取SQL查询当前数据上一条和下一条的记录

如何获取SQL查询当前数据上一条和下一条的记录,第1张

方法一:

查询上一条记录的SQL语句(如果有其他的查询条件记得加上other_conditions以免出现不必要的错误):

1

select from table_a where id = (select id from table_a where id < {$id} [and other_conditions] order by id desc limit 1) [and other_conditions];

查询下一条记录的SQL语句(如果有其他的查询条件记得加上other_conditions以免出现不必要的错误):

1

select from table_a where id = (select id from table_a where id > {$id} [and other_conditions] order by id asc limit 1) [and other_conditions];

1查找一下小于等于ID值的记录数就行了

SELECT

COUNT()

FROM

WHERE

ID<=ID的值

2用row_number()

select

row_number()

over(order

by

field1)

as

row_number,

from

t_table

其中row_number列是由row_number函数生成的序号列。在使用row_number函数是要使用over子句选择对某一列进行排序,然后才能生成序号。

实际上,row_number函数生成序号的基本原理是先使用over子句中的排序语句对记录进行排序,然后按着这个顺序生成序号。over子句中的order

by子句与SQL语句中的order

by子句没有任何关系,这两处的order

by

可以完全不同

Select Max(id) As Id ,name, Max(LoginTime) As LoginTime From TableName Group By name获取成最近一次时间的记录(即以姓名分组,时间,Id取最大)

关于你的第一个问题:数据时从页面返回到你的action/servlet中的所以在这时页面传过来的时间值是null的,你可以它的setdate(new date()); 这是set一个当前本机时间的值,这样就可以自动将数据库中datatime类型的值填充。 第二个问题:某段时间具体是指定的时间是指什么是静态时间还是动态时间。如果是静态时间就可以直接用select from tabname where time between '(对照时间的类型写-起始时间)' and '(结束时间)' 如果是动态时间那就需要去截取时间的年,月,日了,每种数据库都有他自己截取时间的关键字。你可以对照你使用的数据库来看看你截取的关键字。这个例子网上很多,你可以去看看。

以上就是关于如何获取SQL查询当前数据上一条和下一条的记录全部的内容,包括:如何获取SQL查询当前数据上一条和下一条的记录、SQL 获取数据库当前数据是第几条的语句怎么写、sql 如何获取数据库中最接近当天日期的那一条记录等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10176951.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存