仅选择特定行中具有不同值的记录

Pop*_*sel 1 sql ms-access distinct duplicates ms-access-2010

我有以下示例数据:

ID    Name    Street    Number    Code
100   John    Street1   1         1234
130   Peter   Street1   2         1234
135   Bob     Street2   1         5678
141   Alice   Street5   3         5678
160   Sara    Street1   3         3456
Run Code Online (Sandbox Code Playgroud)

现在我需要一个Query来只返回最后一条记录,因为它的Code是唯一的.

Han*_*sUp 5

您可以使用GROUP BY和查找哪些代码对于查询是唯一的HAVING.

SELECT [Code]
FROM YourTable
GROUP BY [Code]
HAVING Count(*) = 1;
Run Code Online (Sandbox Code Playgroud)

要获取与这些唯一[Code]值匹配的完整行,请将该查询加回到您的表中.

SELECT y.*
FROM
    YourTable AS y
    INNER JOIN
    (
        SELECT [Code]
        FROM YourTable
        GROUP BY [Code]
        HAVING Count(*) = 1
    ) AS sub
ON y.Code = sub.Code;
Run Code Online (Sandbox Code Playgroud)