[英]SQL Server - How to select the most recent record per user?
我正在嘗試執行 SQL 命令,該命令應該在進入數據庫的最后一行繪制。
基本上,當用戶提交最后一個主題時(例如在這個論壇中),它會將用戶重定向到一個頁面,其中包含他的主題標題、主題段落和數據,例如用戶名和提交主題的時間。
我開始研究聲明:
SELECT @UserID, u.UsersName, t.ThreadTitle, t.ThreadParagraph
FROM Users as u
INNER JOIN Threads as t ON u.UserID = t.UserID
Where @UserID = t.UserId
我遇到的問題是我需要添加一些語句或聚合 function 以返回線程表中輸入的最后一行。 我該怎么做呢? 我需要添加什么?
在 MS SQL 中,您可以為此使用TOP 1
,您還需要按創建的日期時間列降序排列。
SELECT TOP 1 @UserID, u.UsersName, t.ThreadTitle, t.ThreadParagraph
FROM Users as u
INNER JOIN Threads as t ON u.UserID = t.UserID
Where @UserID=t.UserId
ORDER BY [YourDateTimeFiled] DESC
我不確定我是否完全理解了您的問題,但是如果您有線程 ID(線程表中的主鍵),請試試這個
SELECT @UserID, u.UsersName, t.ThreadTitle, t.ThreadParagraph
FROM Users as u
INNER JOIN Threads as t ON u.UserID = t.UserID
Where @UserID=t.UserId
ORDER BY t.id DESC
LIMIT 0, 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.