我有一個郵件圖標,點擊打開一個類似facebook的郵件div
。 div
自動滾動到底部。在這div
,我得到了最後25條消息。問題是我想要從最新的div
底部訂購消息。我有兩個順序列:ID這是自動增量和dt這是一個日期時間。sql訂單在郵件格式
我試過ORDER BY的每一個組合,我無法得到它。
SELECT TOP 25
rec,
sender,
message,
CONVERT(varchar(20),dt,120) AS date
FROM dbo.messages
WHERE (rec='$user[name]' OR sender='$user[name]')
ORDER BY id DESC, dt ASC
沒有底線,但SELECT BOTTOM 25 * ORDER BY id
理論上會工作完美。
檢索過去的25倍的結果,但問題是,當我遍歷,最新的消息顯示在頂部,因爲它是第一個結果,並朝着用於回答的輸入框顯示查詢的最後結果。我需要最後25條記錄,由ID/DT ASC訂購。 – user1695981 2013-02-25 13:10:18
那麼,爲什麼你不處理翻轉應用程序層的順序呢?這似乎是一個顯示問題而不是查詢問題。這並不是說SQL Server無法處理它,只是您的應用程序可以更好/更快地處理它。 – Matt 2013-02-25 13:22:01
你假設你的ID和你的日期時間總是按照正確的順序。他們不一定是。即使按日期接收數據DESC,然後翻轉應該允許正確的順序,而不是依賴任意的ID字段。 – Matt 2013-02-25 13:28:25