0

我有以下表结构:

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 条自动 ID 大于 17 的记录。我只想要 AutoID 17 的下一条记录。

请帮我。

4

5 回答 5

2
SELECT * FROM ejamatPass WHERE AutoID>17 ORDER BY AutoID ASC LIMIT 1;
于 2013-09-17T10:45:23.103 回答
1

您想添加一个limit子句和order by

select *
from ejamatPass
where AutoID>17
order by AutoID
limit 1;

顺便说一句,SQL 表本质上是无序的。当您执行 aselect时,无法保证返回结果的顺序。您需要一个order by以确保订购。

于 2013-09-17T10:45:05.810 回答
1
select top 1 (*) from ejamatPass 
where AutoID > 17
Order by AutoID 
于 2013-09-17T10:45:26.113 回答
1

您可以使用 SELECT TOP 子句。

select top 1 * from ejamatPass where AutoID>17
于 2013-09-17T10:46:57.140 回答
1
select * from ejamatPass where where AutoID>17
order by AutoID
于 2013-09-17T10:47:37.607 回答