MySql-如何在上一行中获取值并在下一行中获取值? [英] MySql - How get value in previous row and value in next row?
本文介绍了MySql-如何在上一行中获取值并在下一行中获取值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个名为Example
的下表:
id(int 11) //not autoincriment
value (varchar 100)
它具有以下数据行:
0 100
2 150
3 200
6 250
7 300
请注意,id值不连续.
Note that id values are not contiguous.
到目前为止,我已经编写了此SQL:
I've written this SQL so far:
SELECT * FROM Example WHERE id = 3
但是,我不知道如何获取前一个id
的值和下一个id
...
However, I don't know how to get the value of previous id
and value of the next id
...
如果id
= 3,请帮助我获得上一个值和下一个值?
Please help me get previous value and next value if id
= 3 ?
P.S .:在我的示例中为:上一个-150
,下一个-250
.
P.S.: in my example it will be: previous - 150
, next - 250
.
推荐答案
选择下面的下一行:
SELECT * FROM Example WHERE id < 3 ORDER BY id DESC LIMIT 1
选择上方的下一行:
SELECT * FROM Example WHERE id > 3 ORDER BY id LIMIT 1
在一个查询中选择两者,例如使用 UNION :
Select both in one query, e.g. use UNION:
(SELECT * FROM Example WHERE id < 3 ORDER BY id DESC LIMIT 1)
UNION
(SELECT * FROM Example WHERE id > 3 ORDER BY id LIMIT 1)
那是什么意思?
这篇关于MySql-如何在上一行中获取值并在下一行中获取值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文