我有以下表结构:
MID AutoID MikatName
1 3 ABC
4 17 XYZ
9 20 MNS
15 26 MNVS
现在我想形成一个查询,以便我可以根据特定的AutoID获取或选择下一条记录。
表示如果我想在autoID 17旁边记录,我必须形成什么查询。即它是MID = 9 AutoID = 20 MikatName = MNS
我尝试将其形成为:
select * from ejamatPass where AutoID>17
但是它给了我所有2条记录的autoID grater 17。我想要下一条记录到AutoID 17。
请帮帮我。
答案 0 :(得分:2)
SELECT * FROM ejamatPass WHERE AutoID>17 ORDER BY AutoID ASC LIMIT 1;
答案 1 :(得分:1)
您想要添加limit
子句和order by
:
select *
from ejamatPass
where AutoID>17
order by AutoID
limit 1;
顺便说一下,SQL表本质上是无序的。当您执行select
时,无法保证返回结果的顺序。您需要order by
才能确保订购。
答案 2 :(得分:1)
select top 1 (*) from ejamatPass
where AutoID > 17
Order by AutoID
答案 3 :(得分:1)
您可以使用SELECT TOP子句。
select top 1 * from ejamatPass where AutoID>17
答案 4 :(得分:1)
select * from ejamatPass where where AutoID>17
order by AutoID