2011-06-13 97 views
5

是否有一種乾淨的方法來限制SQ​​Lite3 SELECT語句的點擊次數?SQLite3並限制結果數量

例如,我可能會詢問SELECT * FROM myTable WHERE name='Smith';意識到我可能遇到數以千計的點擊。我希望SQLite3能夠告訴我遇到的前10個,然後終止查詢。我該怎麼做呢?

如果SQLite3沒有立即提供此信息,有什麼我可以編輯的SQLite3源代碼,我可以重建?

假設我處於只有一個線程的環境中,並且希望在合理的時間內控制回來。

+0

@All:謝謝 - 我想接受你的每個答案。 – SK9 2011-06-13 12:13:16

回答

10

您正在尋找的LIMIT條款:

SELECT * FROM myTable WHERE name='Smith' LIMIT 10 
4

SELECT語法:有一個LIMIT關鍵字:

select * from sometable where .... limit 10; 

看那OFFSET也可以爲分頁結果有幫助。 (此外,這些往往與ORDER BY子句如果要在查詢一致的結果結合起來。)

3

SQLite docs

LIMIT子句是用來放置一個上限由返回的行數一個SELECT語句。任何標量表達式都可以在LIMIT子句中使用,只要它計算爲一個整數或一個可以無損地轉換爲整數的值。如果表達式求值爲NULL值或任何其他不能無損地轉換爲整數的值,則返回錯誤。如果LIMIT表達式求值爲負值,那麼返回的行數沒有上限。否則,SELECT僅返回結果集的前N行,其中N是LIMIT表達式求值的值。或者,如果SELECT語句返回少於N行而沒有LIMIT子句,則返回整個結果集。