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