查看以下数据集:
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)。这个存款号应该是唯一的。只能为团体+终端使用一次。顺便说一句,存款号码可以为THAT组+终端提供超过1行。如果组+终端已使用存款号,则另一组+终端不能使用相同的存款号。
问题:如何运行查询,以便输出显示重复的存款编号(如果存在),针对不同的组+终端?
答案 0 :(得分:0)
使用GROUP BY与HAVING COUNT()> 1:
SELECT "deposit no."
FROM table1
GROUP BY "deposit no."
HAVING COUNT(DISTINCT group || '++' || TO_CHAR(tty)) > 1
我所做的是计算group
和tty
组合