在具有两列的sql中查找重复项

时间:2017-08-08 19:41:49

标签: sql duplicates

我在SQL Server中有记录为

c_num   c_date      invoice
---------------------------
 11213  2015-07-21   96914
 11213  2015-07-21   96915
133412  2015-09-30  137389
133412  2015-09-30  137450
202793  2016-12-28  390045
202793  2016-12-28  390047
   379  2016-12-15  393380
   379  2017-06-29  510412

我需要找到c_num多个c_date

我在SQL下面尝试过,但它没有帮助,因为这个表可以有多个c_num,但每个c_num理想情况下应该有一个c_date。我试图找到具有多个c_date的c_num,在此示例中为379。预期结果是379。

select 
    c_num, c_date, count(*)  
from 
    table_a 
group by 
    c_num, c_date 
having 
    count(*) > 1

2 个答案:

答案 0 :(得分:1)

尝试以下查询(未经测试)

// JS for Showing Chosen Locations in textarea
var opts = $('#loc option');

$('#add').on('click', function() {
    opts.prop('selected', true)
    reflectChange();
});

$('#rem').on('click', function() {
    opts.prop('selected', false)
    reflectChange();
});

$('#loc').on('change', reflectChange);

function reflectChange() {
    $('#selected').val('');

    opts.each(function(value,ind){
        $('#selected').val($(value).text + '\n');
    });
}

// End JS for Showing Chosen Locations in textarea

// JS for Showing Chosen Associates in textarea
var opts1 = $('#EmployeeName option');

$('#add1').on('click', function() {
    opts1.prop('selected', true);
    reflectChange1();
});

$('#rem1').on('click', function() {
    opts1.prop('selected', false);
    reflectChange1();
});

$('#EmployeeName').on('change', reflectChange1);

function reflectChange1() {
    $('#selected1').val('');

    opts1.each(function(value,ind){
        $('#selected1').val($(value).text + '\n');
    });
}

// End JS for Showing Chosen Associates in textarea

答案 1 :(得分:0)

试试这个 - 使用公用表表达式不是必需的,但有助于清理。

with cte as ( select distinct c_num, c_date from table_a ) select distinct c_num, count(*) from cte group by c_num having count(*) > 1