SELECT c1.id, c1.file, c1.comment_date, c1.comment, c1.author
FROM comments c1
LEFT JOIN comments c2
ON c2.file = c1.file AND c2.id > c1.id
WHERE c2.id IS NULL
我用的是 id 列来确定每个文件的最新行,而不是 comment_date 列,因为可能有重复的行 comment_date 每个文件的值。 如果必须使用comment\u date,则可以使用返回到 id 如果有重复日期:
SELECT c1.id, c1.file, c1.comment_date, c1.comment, c1.author
FROM comments c1
LEFT JOIN comments c2
ON c2.file = c1.file AND c2.comment_date > c1.comment_date AND c2.id > c1.id
WHERE c2.id IS NULL
1条答案
按热度按时间mzsu5hc01#
您可以通过排除联接来实现这一点:
我用的是
id
列来确定每个文件的最新行,而不是comment_date
列,因为可能有重复的行comment_date
每个文件的值。如果必须使用comment\u date,则可以使用返回到
id
如果有重复日期: