2010-02-18 31 views
4

我創建這是一個優勢的數據庫服務器上運行的Web應用程序,而不是我選擇的個人武器,但是這是該公司使用的東西。 我有幾個最終用戶需要能夠查看的大清單,但我似乎無法找到一種方法來通過SQL中的結果進行分頁。尋呼在利用數據庫

有什麼樣LIMIT/OFFSET的優勢數據庫?如果不是,有什麼建議來解決這個問題?

謝謝你提前!

回答

6

我明白,極限和ROWNUM將在優勢的即將到來的版本的新功能。 http://feedback.advantagedatabase.com/forums/2671-general/suggestions/30213-return-query-specific-row-number-?ref=title

但是,在此之前,我在過去使用這個選擇第50-60行。

選擇頂部10 *從mytable的 其中ROWID沒有(選擇mytable的前50名ROWID)

@ tommieb75,你表明SQL方言不標準。我發現它基於包含大部分SQL-92標準和一些SQL-2003特性的標準。

+0

這似乎工作,allthough我必須說,它需要較少的時間來獲取整個表(有大約160K記錄),然後才能到達某個頁面出來。另外,這是如何工作在連接表上? – UnreliableWitness

1

根據this,Advantage中的LIMIT的正確語法爲SELECT TOP 10 * FROM YOURTABLE

+0

謝謝你,但是這並沒有解決我的問題分頁@ – UnreliableWitness

+0

dries.hoebeke:是的,顯然沒有'ROWNUM'功能,所以不必使用'SELECT TOP的能力'在尋呼方面無處可尋。我想你唯一剩下的選擇是將所有內容加載到內存中並執行分頁邏輯。這絕對是最大吮吸的解決方案,但我並不認爲你有其他選擇。如果你還沒有準備好,你應該投給未來ROWNUM'的'執行此:http://feedback.advantagedatabase.com/forums/2671-general/suggestions/30213-return-query-specific-row-number - –