所以我在数据库(工作卡)中有一个表,其中有一个名为“JobCardNum”的列。这是表的主键,但是由于特定的工作卡可能已被删除,因此存在间隙。
例如,可能存在编号为2000和2002的工作卡,但不存在2001。
我需要的是把一个工作卡号作为输入,并找到下一个工作卡号,如果列是升序的。
所以如果'$num'是我的清理输入,我需要

 "SELECT * FROM JobCards WHERE JobCardNum = $num ORDER BY 'JobCardNum' [asc]"

但是,然后得到“下一个”JobCardNum。
我知道我可以返回一个数组的所有工作卡,然后提取一个我需要的,但可能有数以千计的条目,所以这似乎是低效的。
有什么想法吗

最佳答案

SELECT TOP 1 JobCardNum FROM JobCards WHERE JobCardNum > $num ORDER BY JobCardNum asc

mysql数据库:
SELECT JobCardNum from someTable WHERE JobCardNum > $num ORDER BY JobCardNum  limit 1

07-26 09:42