【问题标题】:how to find duplicate data in sql in with different group如何在不同组的sql中查找重复数据
【发布时间】:2014-11-11 00:36:54
【问题描述】:

看看下面的一组数据:

date                 group  tty  deposit no. 

12/30/2011 00:00:00 | HQ01  | 3 | 000131
08/02/2012 00:00:00 | C03   | 4 | 000131
11/13/2013 00:00:00 | HQ01  | 7 | 000131
12/10/2013 00:00:00 | HQ01  | 7 | 000131
11/30/2011 00:00:00 | HQ01  | 9 | 012040
11/30/2011 00:00:00 | HQ01  | 9 | 012040
11/30/2011 00:00:00 | HQ01  | 9 | 012040
11/30/2011 00:00:00 | HQ01  | 9 | 012040
11/30/2011 00:00:00 | HQ01  | 9 | 012040
11/30/2011 00:00:00 | HQ01  | 9 | 012040
11/30/2011 00:00:00 | HQ01  | 9 | 012040

如您所见,存款号 000131 属于不同的组和终端(tty)。这个存款号码应该是唯一的。组+终端只能使用一次。顺便说一句,该组+终端的存款号码可以有超过 1 行。如果一个群组+终端已经使用了一个存款号码,那么另一个群组+终端就不能使用同一个存款号码。

问题:我如何运行查询,如果存在重复存款号码,输出将显示不同组+终端的重复存款号码?

【问题讨论】:

    标签: sql oracle group-by duplicates


    【解决方案1】:

    将 GROUP BY 与 HAVING COUNT() > 1 一起使用:

    SELECT "deposit no." 
    FROM table1
    GROUP BY "deposit no." 
    HAVING COUNT(DISTINCT group || '++' || TO_CHAR(tty)) > 1
    

    我所做的是计算 grouptty 组合的不同值

    【讨论】:

      猜你喜欢
      • 2020-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-04
      • 1970-01-01
      • 2021-11-24
      • 2011-12-18
      • 2012-05-04
      相关资源
      最近更新 更多