DB2根据指定列筛选重复数据

今天在操作数据库时,有一个新的统计需求

需求:统计2019年一月份列名为A的调用量,其中DEPT_NM和COMPANY_NAME一致的,认为是同一数据,需要去重

 表名称 : TEST , 表结构如下

 

IDCOMPANY_NAMEDEPT_NMPRODUCT_NMOP_TIME
1测试数据1测试部门1A2019-02-13 08:12:00
2测试数据1测试部门1A2019-01-13 08:12:00
3测试数据3测试部门3C2018-01-13 08:12:00
4测试数据4测试部门4D2018-08-13 08:12:00

在上述数据中,虽然ID 1和2是两条数据,但是因为是同一部门查询同一企业,所以认为是一次查询

DB2的SQL如下

SELECT   COUNT(*)
FROM     (SELECT   COMPANY_NAME,
                   DEPT_NM,
                   PRODUCT_NAME,
                   OP_TIME,
                   ROW_NUMBER() OVER(PARTITION BY COMPANY_NAME,DEPT_NM ORDER BY COMPANY_NAME,DEPT_NM) AS COUNT
          FROM     TEST)
WHERE    COUNT = 1
AND      PRODUCT_NAME='A'
AND      (OP_TIME BETWEEN '2019-01-01' AND '2019-1-31');

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

油炸小波

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值