我有一张要清理的表,所以我只需要表中的第一个地址ClientId
表Addresses
有这些列
Pk[Id]
[ClientId]
[AddressLine1]
[AddressLine2]
我使用的查询:
SELECT *
FROM Addresses
ORDER BY ClientId
结果 =
1 1 foo bar
2 1 foo2 bar2
3 1 foo3 bar3
4 1 foo4 bar4
5 2 foo bar2
95 2 foo bar5
97 2 foo bar6
8 3 foo2 bar7
想要的结果=
1 1 foo bar <--is first match for clientid = 1
5 2 foo bar2 <-- is first match for clientid = 2
8 3 foo2 bar7 <-- is first match for clientid = 3
这需要为 n 个客户端工作
我试过了
SELECT *
FROM Addresses
GROUP BY ClientId
结果错误是(列 'Id' 在选择列表中无效,因为它不包含在聚合函数或 GROUP BY 子句中。)
我在这里想念什么?