我有用戶列表表格,在我的列表頁面中,有分頁,所以現在我發現sql時單擊分頁,即。當點擊1獲得前10的記錄,從表中,當點擊2得到11至20的記錄,當點擊3得到21至30的記錄,如何在SQL樣子,SQL從分頁獲取列表
在此先感謝
我使用的Informix DB
我有用戶列表表格,在我的列表頁面中,有分頁,所以現在我發現sql時單擊分頁,即。當點擊1獲得前10的記錄,從表中,當點擊2得到11至20的記錄,當點擊3得到21至30的記錄,如何在SQL樣子,SQL從分頁獲取列表
在此先感謝
我使用的Informix DB
的Informix有類似的條款,但來自不同的LIMIT和OFFSET:
SELECT SKIP n LIMIT m ...
您可以在限價的首次使用。
請參閱IDS 11.70 InfoCenter或針對較早版本的IDS的類似位置。
此評論被寫入之前OP表示,他/她是使用INFORMIX數據庫
MySQL和PostgreSQL的支持非常酷的功能,稱爲偏移通常用LIMIT子句中使用。
LIMIT子句用於限制SQL語句中返回結果的數量。所以,如果你有一臺1000行,但只想要回第10位,你會做這樣的事情:
SELECT column FROM table
LIMIT 10
這是類似於Microsoft SQL Server上的TOP子句。然而,LIMIT子句總是在MySQL和PostgreSQL的查詢結束時進行。
現在假設你想顯示結果11-20。隨着關鍵字抵消其一樣簡單,下面的查詢將做到:
SELECT column FROM table
LIMIT 10 OFFSET 10
這可以很容易地編寫多頁結果或分頁與SQL。通常使用的方法是選擇所有記錄,然後在應用程序服務器層進行篩選,而不是直接在數據庫上進行篩選。就像你會想象在數據庫上這樣做會產生更好的性能。
如果你想顯示結果21-30,使用以下查詢:
SELECT column FROM table
LIMIT 10 OFFSET 20
-1。即便如此,這個答案對於解決OP所面臨的問題並不是非常有用。你的其他答案更有用,所以我給了+1。 – 2010-12-09 03:04:51
現在你指出,你正在使用Informix,該LIMIT
子句將無法正常工作。您是否可以將選擇放入數組中並從數組中調用所需的數據?
這個問題有一些Informix的有用的信息:http://stackoverflow.com/questions/1033729/informix-subqueries-with-first-option – 2010-12-09 02:46:32