信息:
*我有一個名爲「s_id」的INT PRIMARY KEY列的表。
*「s_id」的值是不連續的,即[3,5,7,8,9,11,12,14)。所以[1,2,4,6,10,13]不存在。當PRIMARY KEY值不連續時,如何獲取下一個SQL行?
問題:
鑑於 「S_ID」 值 '5',什麼是拔 「S_ID」 值最簡單的SELECT語句 '7' 的先驗知識?
我的最新嘗試是哈克和任意 - 這裏的目的是如果存在任何行,我只是挑最前面的一個,並跳出:
SELECT s_id FROM s WHERE s_id > 5 AND s_id < (5+10)
編輯:對不起,我忘了提SQLITE3的限制,它不提供'TOP'。尼克和馬克提出的使用「TOP 1」的建議讓我朝着瞭解這一侷限的方向邁進,然後朝着「極限1」邁進了一步。我想通SQL是SQL,我應該但更好地稱爲:
SELECT s_id FROM s WHERE s_id > 5 LIMIT 1
難道你沒有足夠的代表?分享簡單的;) – 2011-02-02 20:32:48
謝謝。我忘了提及我正在使用「sqlite3」C庫,所以不幸的是TOP不可用。在聲明結尾處,我嘗試添加「限制1」,而不是「最高1」,而且效果很好。 – drhr 2011-02-02 20:36:32
@liutenantdan:是的,這樣的信息在你原來的文章中會非常有用!請記住下次.. – 2011-02-02 20:37:18