我需要與執行以下操作查詢幫助:導軌 - 複雜的SQL查詢
- 開始從最新的記錄,向下走的較舊的記錄。
- 它需要通過created_at時間進行排序。
- 如果通過created_at時間在數據庫中有新記錄,請回顧它們,但不要獲得我已經從步驟1獲得的記錄。
- 我一次只能獲取16條記錄。這個數字可以稍後改變。
- 請勿回顧之前發送的記錄。
也只是爲了讓你知道,這是通過$ .ajax開始。
原因是因爲我正在將新舊記錄實時發送到客戶端。認爲就像用戶開始訪問網站一樣,它會從新的開始獲取當前記錄。然後用戶可以獲取較舊的記錄,但是在相同的請求下,它也檢索到全新的記錄。每次只能記錄16條記錄。
我有道理嗎?
這是我目前有下面的代碼:
RssEntry.includes(:RssItem).where("rss_items.rss_id in (?) AND (rss_entries.id < ? OR rss_entries.created_at > ?)", rssids, lid, time).order("rss_entries.id DESC").limit(16)
lid = last lowest id from those records
rssids = ids from where to get the records
time = last time it did the records call
上面的代碼僅僅是個開始。我現在需要幫助以確保它符合我上面的要求。
更新1
好了,我能夠做到我想要的東西,但在2個SQL查詢。我真的不認爲有可能在一個SQL查詢中執行我想要的操作。
任何幫助,非常感謝。
謝謝。
它甚至可以在我的需求在一個SQL查詢?或者我必須在兩個查詢中做到這一點? –