mysql如何取得当前行数据的的上一行和下一行数据

mysql如何取得当前行数据的的上一行和下一行数据,第1张

如果字符串可以用<,>符号比较的话(停电用手机无法验证能不能用)

假设你主键名称是Z,表为T

前一行:

select TOP1 Z from T where Z>'UUID' order by Z DESC

后一行:

select TOP1 Z from T where Z<'UUID' order by Z

合并:

在中间加 UNION ALL

这个不行就去查游标使用吧

您好,很高兴为您解答。

方法一:

查询上一条记录的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]

如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】

希望我的回答对您有所帮助,望采纳!

~ O(∩_∩)O~


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

原文地址: https://outofmemory.cn/zaji/6095642.html

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

发表评论

登录后才能评论

评论列表(0条)

保存