我有一個數據庫表,例如'items'。我有這些項目的時間表,按字段ascended_at(datetime)排序。我需要爲這樣的時間表做一個分頁API。所以,第一個我的版本是:按日期時間字段精確分頁
HTTP GET /items/timeline?page=[PAGE_NUM]
它將觸發
SELECT * FROM items LIMIT 10 OFFSET [0, 10, 20, ...] ORDER BY ascended_at;
,但現在的問題是:當有新郵件到達,每1個項目的所有頁面的變化。爲了避免這種情況,我已經添加from_asc_at參數:
HTTP GET /items/timeline?page=[PAGE_NUM]&from_asc_at=123123123
它將觸發
SELECT * FROM items WHERE ascended_at <= [asc_at_parameter] LIMIT 10 OFFSET [0, 10, 20, ...] ORDER BY ascended_at;
,但是這是不準確的,因爲它可能有兩個項目具有相同的ascended_at,你可以看到相同的項目在兩個不同的頁面(但不應該)。
所以,我的問題是:這有什麼可能的解決方案?
- 使用ID(因爲它是唯一的)?但如果它不是通過ID命令呢?
- 任何想法更多?
在我看來,它不處理刪除項目 – 2013-03-15 12:08:15