mysql 取一行_MySql – 如何获取上一行中的值和下一行中的值?
id(int 11) //not autoincriment
value (varchar 100)
它有以下幾行數據:
0 100
2 150
3 200
6 250
7 300
請注意,id值不是連續的.
到目前為止我寫了這個SQL:
SELECT * FROM Example WHERE id = 3
但是,我不知道如何獲取前一個id的值和下一個id的值…
如果id = 3,請幫助我獲得之前的值和下一個值?
P.S.:在我的例子中它將是: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 * FROM Example WHERE id < 3 ORDER BY id DESC LIMIT 1)
UNION
(SELECT * FROM Example WHERE id > 3 ORDER BY id LIMIT 1)
那是什么意思?
標簽:sql,mysql
來源: https://codeday.me/bug/20190923/1815669.html
總結
以上是生活随笔為你收集整理的mysql 取一行_MySql – 如何获取上一行中的值和下一行中的值?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 几天后自动领取java怎么做的_java
- 下一篇: sift分类java_使用SIFT /