如何在MySQL中查询当前数据上一条和下一条的记录

如何在MySQL中查询当前数据上一条和下一条的记录,第1张

如果ID是主键或者有索引,可以直接查找:

方法一:

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

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以免出现不必要的错误):

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]

方法二:

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

select * from table_a

where id =

(select max(id) from table_a

where id <{$id} [and other_conditions]

)

[and other_conditions]

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

select * from table_a

where id =

(select min(id) from table_a

where id >{$id} [and other_conditions]

)

[and other_conditions]

获取最新数据就会显示。如下参考:

1.打开电脑,打开mysql数据库,点击数据库,在右上角输入查询,点击新查询下面的zd查询。如图。

2.然后可以通过gmt_create从crew_1中输入SELECT*,表中的所有记录都将按时间排序,如图所示。

3.如果需要获得按时间排序的表中的第一条记录,请输入SELECT*fromcrew_1orderbygmt_createdesclimit0,1,如图所示。

4.如果您需要获得第五个记录,请输入SELECT*fromcrew_1orderbygmt_createdesclimit4,1,如下所示。

5.如果需要获取1001记录,只需将limit4,1更改为limit1000,1。如果需要获取n条记录,在查询语句中添加limitn-1,1,如图所示。

6.如果需要获取表中的前n条记录,则更改为限制n,如图所示。

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]//先把上一条主键和下一条主键查出来。


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

原文地址: http://outofmemory.cn/zaji/7275857.html

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

发表评论

登录后才能评论

评论列表(0条)

保存