我有一个包含2列ID, ID_PROJ_CSR
该表的内容是:
ID ID_PROJ_CSR
------------------
747 222 <
785 102
786 222 <
787 223
788 224
我想选择ID,但如果ID_PROJ_CSR中的任何值是重复的,我需要选择包含该重复值的行的任何ID(在该示例中,选择ID 747 OR的 786
我试试:
SELECT * FROM my_table tab
WHERE tab.id_proj_csr = (SELECT TOP 1 id_proj_csr
FROM my_table mt
WHERE mt.id_proj_csr = tab.id_proj_csr)
答案 0 :(得分:16)
您需要GROUP BY:
SELECT MAX(ID) as [ID], ID_PROJ_CSR
FROM my_table
GROUP BY ID_PROJ_CSR
答案 1 :(得分:1)
以下是省略任何具有重复值的内容的情况,因此您只会获得没有重复项的行:
SELECT *
FROM my_table
GROUP BY ID_PROJ_CSR
HAVING count(ID_PROJ_CSR) = 1;