bos*_*maj 12 mysql row surround
这是示例表:
Column | 1st record | 2nd record | 3rd record | 4th record | etc<br />
id (primary) | 1 | 5 | 8 | 12 | etc<br />
name | name 1 | name 2 | name 3 | name 4 | etc<br />
date | date 1 | date 2 | date 3 | date 4 | etc<br />
callValue (unique) | val1 | val2 | val3 | val4 | etc
Run Code Online (Sandbox Code Playgroud)
我选择一行作为要显示的数据(例如:具有callValue的行:val3).但我无法找到解决方案:
我需要选择上一行和下一行.所以,在这个例子中,我需要从行vallValue:val4和callValue:val2,或id:5和id:12获取数据.
它不能用id= id+ -1 来完成,id因为删除行不必是连续的.
And*_*nov 27
试试这个:
select * from test where callValue = 'val3'
union all
(select * from test where callValue < 'val3' order by id desc limit 1)
union all
(select * from test where callValue > 'val3' order by id asc limit 1)
Run Code Online (Sandbox Code Playgroud)
要么
select * from test where id = 8
union all
(select * from test where id < 8 order by id desc limit 1)
union all
(select * from test where id > 8 order by id asc limit 1)
Run Code Online (Sandbox Code Playgroud)
pax*_*blo 13
获得ID后8,您应该可以对以下内容进行修改:
select * from mytable
where id < 8
order by id desc
limit 1
Run Code Online (Sandbox Code Playgroud)
和:
select * from mytable
where id > 8
order by id asc
limit 1
Run Code Online (Sandbox Code Playgroud)
对于上一个和下一个记录.
| 归档时间: |
|
| 查看次数: |
19165 次 |
| 最近记录: |