我有一个表(AreaPartners),我只想匹配每个组中的第一个“名称”记录,按“ID”排序,按“区域”分组。所以对于下表:
Area Name ID
AB ISmith 748
AB AWood 750
AB HArcher 751
AB DMunslow 753
AB DCornelius 754
BH MLee 301
BH NMcClean 307
BH DMiles 309
BH LPayze 325
BH MPinnock 329
我想返回 AB 的结果 ISmith 和 BH 的 MLee。
我该怎么做?我相信这与 Group By 功能有关,但我一生都无法让它发挥作用。
最佳答案
试试这个:
SELECT yourTable.Area, yourTable.Name
FROM yourTable INNER JOIN (
SELECT MIN(Id) AS MinId
FROM yourTable
GROUP BY Area) M ON yourTable.Id = M.MinId
关于sql - 每个匹配项仅显示第一行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9003058/