【发布时间】:2020-03-31 14:08:58
【问题描述】:
我知道这个问题被问了很多,但我似乎无法让我的查询正常工作。
我试图在查询中每个 id 只获取一行,如下所示:
SELECT a.id, b.name
FROM table1 a
LEFT JOIN table2 b ON a.key = b.key
WHERE a.Date =
(SELECT MAX(a1.date) from table1 WHERE a1.primarykey = a.primarykey)
GROUP BY a.id, b.name
我不需要按 b.name 分组,但必须这样做,因为我需要按 id 分组。
现在,我多次出现 b.name,它与 a.id 重复,我只想要 a.id 的最后日期对应的 b.name。
谁能指出正确的方法?
谢谢
【问题讨论】:
-
要获得正确答案,您需要共享两个表中的示例数据以及您的预期结果(作为表格文本)。
标签: sql sql-server greatest-n-per-group