我有一個表test
------------------------------
id | date | description
------------------------------
1 | 07/08/09 | the date no 1。
10 | 07/08/10 | the date no 2.
3 | 07/08/11 | the date no 3。
9 | 07/ 08/12 | the date no 4。
... | ... | ...
而且我知道我可以像這樣選擇第一頁(用于鍵集分頁)
SQL NO.
SQL NO. 1
select t.id as id, t.dateas record_date, t.descriptionas description
from test t order by t.id LIMIT 2
需要保存最后一條記錄(3 | 07/08/11 |日期為3.)到快取中。
用于下一頁的查找。
而下一頁可以用
來檢索。SQL NO.2
select t.id as id, t.dateas record_date, t.descriptionas description
from test t where t. id > 3 order by t.id LIMIT 2
考慮到我的分頁看起來像這樣
| <</span> | <。 | > | >> |
where
>下頁
>>超級最后一頁
<上一頁
<<超級第一頁
如何選擇超級最后一頁的記錄?
如何選擇上一頁的記錄?
如何選擇上一頁的記錄?
如何選擇超級第一頁的記錄?
如何選擇超級第一頁的記錄?
是否有可能用一個查詢來選擇 當前選擇的記錄數 選擇的記錄數 該查詢的可用記錄總數?
uj5u.com熱心網友回復:
你可以像這樣查詢最后一頁:
SELECT * FROM (
SELECT t.id as id,
t.date AS record_date,
t.description AS description
FROM test t ORDER BY t.id DESC LIMIT 2
) AS subq
ORDER BY id;
前面的頁面是通過類似的查詢獲取的,只是多了一個WHERE條件。
但是沒有快速獲取總行數的方法;你必須計算并統計整個結果。我的建議是不要給用戶確切的計數,而是EXPLAIN查詢并顯示PostgreSQL的行數估計。你可以閱讀我關于計數所涉及的問題的文章。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/307980.html
標籤:
