这个问题与我之前的问题有关:
error of finding distinct cobinations of muiltiple columns in IBM netezza SQL table
现在,我需要在SQL IBM netteza Aiginity工作台的表中找到一些部分重复行。
表格如下:
id1 id2 **id3 id4 id5 id6** id7 id8 id9
NY 63689 eiof 394 9761 9318 2846 2319 215
NY 63689 eiof 394 9761 9318 97614 648 645
CT 39631 pfef 92169 9418 9167 164 3494 34
CT 39631 pfef 92169 9418 9167 3649 7789 568
id3 id4 id5 id6 are duplicated for id1 = NY and id2 = 63689
id3 id4 id5 id6 are duplicated for id1 = CT and id2 = 39631
结果应为
id1 id2 value
NY 63689 2
CT 39631 2
更新:我只需为每个id1和id2计算 id3 id4 id5 id6 的部分重复项。我不关心id7,id8,id9的列。
我使用了sql查询:
SELECT id1, id2,
COUNT(*) AS value
FROM
(
SELECT
id1, id2, id3, id4, id5, id6
FROM
myTable
GROUP BY
id1, id2, id3, id4, id5, id6
)
AS uniques
GROUP BY
id1, id2
但是,我得到了:
id1 id2 value
NY 63689 number of combinations of id7 id8 id9
CT 39631 number of combinations of id7 id8 id9
任何帮助将不胜感激。
答案 0 :(得分:3)
以下查询生成所需的输出。这是你想要做的吗?
SELECT id1, id2, COUNT(*) AS value
FROM myTable
GROUP BY id1, id2;
编辑:
如果你想要完整的重复(所有列),但只显示前两个:
SELECT id1, id2, COUNT(*) as value
FROM myTable
GROUP BY id1, id2, id3, id4, id5, id6;
如果您只想要带有重复项的示例,则可以添加having count(*) > 1
。