如何在一列中查找SQL Server中的重复项,前提是其他列相同且第三列没有重复?

时间:2016-08-12 14:58:00

标签: sql sql-server tsql

没有琐碎的任务。

这是表格:

id | project_id | sum_1 | sum_2

任务:

  • 查找符合以下所有条件的所有记录:

    1. project_id相同而且:
    2. sum_2有重复项(使用相同的project_id)
    3. sum_1没有重复

列出此选择的所有列:

id | project_id | sum_1 | sum_2

请帮帮我:)。

2 个答案:

答案 0 :(得分:2)

这应该做:

SELECT A.*
FROM dbo.YourTable
FROM (  SELECT  project_id,
                sum_2
        FROM dbo.YourTable
        GROUP BY project_id,
                 sum_2
        HAVING COUNT(*) > 1 
        AND COUNT(DISTINCT sum_1) = COUNT(*)) B
    ON A.project_id = B.project_id 
    AND A.sum_2 = B.sum_2;

答案 1 :(得分:0)

这可能适合你。它还演示了如何为您的问题构建样本数据。

<packaging>bundle</packaging>