我无法正确获取此 sql 查询...

我想要来自 tblComment 的前 5 条最新评论。问题是我收到了不止一条评论,并且使用了相同的 ProductID 。我不想要那个。

SELECT DISTINCT TOP 5
   tblProduct.ProductID,
   tblProduct.ProductName,
   tblComment.DateAdded
FROM
    tblComment
INNER JOIN
    tblProduct ON tblProduct.ProductID = tblComment.ProductID
ORDER BY
    tblComment.DateAdded DESC

我究竟做错了什么?

最佳答案

假设您的评论表有一个 id 字段试试这个:

SELECT TOP 5

tblProduct.ProductID,
tblProduct.ProductName,
tblComment.DateAdded

FROM   tblComment
JOIN   tblProduct ON tblProduct.ProductID = tblComment.ProductID
JOIN   (Select ProductID, max(id) as maxid From tblComment Group By ProductId) t on tblComment.id = t.maxid

ORDER BY tblComment.DateAdded DESC

关于sql - 在 SQL Server 中选择 DISTINCT TOP 5,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10093912/

10-13 06:21