
方法一:
查询上一条记录的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 如何获取数据库中最接近当天日期的那一条记录等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)