1
因此,假設我有一堆博客條目,我想找出最新的評論,我將如何去找出在SQL Server中。實現MOST最近的評論 - SQL Server
我有一個臨時表中這些博客條目的整數ID列表。在這種情況下,像選擇頂部1這樣的東西不起作用。
我想到的方法是循環,我們都知道有多少人更喜歡避免SQL Server中的循環。
因此,假設我有一堆博客條目,我想找出最新的評論,我將如何去找出在SQL Server中。實現MOST最近的評論 - SQL Server
我有一個臨時表中這些博客條目的整數ID列表。在這種情況下,像選擇頂部1這樣的東西不起作用。
我想到的方法是循環,我們都知道有多少人更喜歡避免SQL Server中的循環。
嗯,這裏是一個辦法:
SELECT c.*
FROM BlogComments c
JOIN #TempEntries t ON c.EntryID = t.EntryID
JOIN (
SELECT m.EntryID, MAX(m.CommentID) AS CommentID
FROM BlogComments m
GROUP BY m.EntryID
) m
ON m.EntryID = c.EntryID
AND m.CommentID = c.CommentID
您可以在SELECT語句中使用子查詢。例如:
SELECT post.id,
most_recent_comment_id =
(SELECT TOP 1 comment.id
FROM comment
WHERE comment.post_id = post.id
ORDER BY comment.date DESC)
FROM posts
ORDER BY posts.date
或類似的東西。
我添加了「最偉大的正每個組」標籤。這種類型的問題是StackOverflow上的FAQ。按照標籤鏈接查看其他類似的問題。 – 2009-10-11 03:14:10
@ Bill:我不知道使用標籤。太好了! – 2009-10-11 03:20:19