Luc*_*uca 7 mysql select row next
我有一个由NAME命令的查询返回smt,如下所示:
ID NAME
2121927 AAA
2123589 AAB
2121050 AAC
2463926 BBB ---> known ID
2120595 CCC
2122831 DDD
2493055 EEE
2123583 EEF
Run Code Online (Sandbox Code Playgroud)
我需要知道下一个ID和已知ID && NAME的prev ID(如果存在)如何只用1个查询?
zer*_*kms 12
SELECT *,
'next'
FROM table
WHERE `name` > 'BBB'
ORDER BY `name`
LIMIT 1
UNION
SELECT *,
'previous'
FROM table
WHERE `name` < 'BBB'
ORDER BY `name` DESC
LIMIT 1
Run Code Online (Sandbox Code Playgroud)
如果您不知道特定BBB name字段值 - 您可以用子查询替换它,例如SELECT name FROM table WHERE id = 42,42已知ID值.
| 归档时间: |
|
| 查看次数: |
8329 次 |
| 最近记录: |