2012-08-28 59 views
1

你好,我需要一個SQL查詢語句,讓我的行'開始'到'完成'。SQL選擇一定數量的行

例如:

很多項目一個網站,頁面1只選擇項目1-10,第2頁有11-20等。

我知道如何用Microsoft SQL Server和MySQL來做到這一點,但我需要一個獨立於平臺的實現。 :/

我有ID的增量線,但刪除在兩者之間會搞亂的結果時,我選擇通過

WHERE ID > number AND ID < othernumber 
當然

這是可能的,而不在整個數據庫中獲取到結果?

+0

歡迎來到SO。請提供您的架構,示例代碼,您嘗試過的東西以及冰淇淋聖代。 – Kermit

+1

你不能寫平臺獨立的sql語句。 – thavan

+1

@thavan你可以編寫標準的SQL,這應該是相當適應性的。 – Kermit

回答

1

我認爲你最安全的選擇是使用BETWEEN運營商。我相信它適用於Oracle/MySQL/MSSQL。

WHERE ID BETWEEN number AND othernumber 
+0

我想這將是最安全的,我只是想,當第一個100 ID的情況下,我將不得不進一步檢查,直到那裏是要取的東西。還好,選擇整個數據庫到結果集謝謝你。 :) –

+0

@RayStanz你總是可以找到'MIN()'和'MAX()'並使用'BETWEEN'('WHERE ID BETWEEN(SELECT MIN(ID)+ 100 FROM ...') – Kermit

+0

!沒想到那個THX :) –

0

關於你的評論:「我只是想爲當第100個ID的都走了,我會不得不進一步檢查,直到有東西來獲取的情況下」,你可能要考慮實際上曾經刪除的東西從你的數據庫中,但添加一個像「積極」或類似的標誌到你的表,所以你可以避免像你現在試圖避免的情況。另一種選擇是你現在在哪裏,必須在過濾器中找到最大和最小行