当前位置 : 主页 > 网络推广 > seo >

检索列中的重复项并列出并计算它们(DB2上的SQL)

来源:互联网 收集:自由互联 发布时间:2021-06-16
我有一个名为ServiceRequest的表.请参阅下面的一些记录和专栏. RowID Type Area IntID OwnerBussUnit1 AB DD1 1234 Abc2 AB EE2 7635 Abc3 CD DD1 1234 Bde4 FE FF3 2423 Gte5 AB DD1 1234 Abc 6 CD DD1 6363 Sde7 TT QQ6 7635 Sde8 AB
我有一个名为ServiceRequest的表.请参阅下面的一些记录和专栏.

RowID   Type    Area    IntID  OwnerBussUnit
1       AB      DD1     1234   Abc
2       AB      EE2     7635   Abc
3       CD      DD1     1234   Bde
4       FE      FF3     2423   Gte
5       AB      DD1     1234   Abc 
6       CD      DD1     6363   Sde
7       TT      QQ6     7635   Sde
8       AB      DD1     9998   Dfr
9       AB      DD1     9998   Red

1)列出他们
我想列出IntID列中具有重复值的记录.结果中的每条记录都应该具有:

> #IntID:计算重复IntID的次数(因此可以超过两次)
> #GroupBy:“Type”和“Area”列组合计算重复IntID的次数
> SameOwner;其中,在Type和Area的分组中,OwnerBussUnit具有相同的值
> DiffOwner;其中,在Type和Area的分组中,OwnerBussUnit没有相同的值Order by IntID,RowID

我要找的结果如下:

IntID  RowID   Type  Area  #IntID  #GroupBy   SameOwner   DiffOwner
1234   1       AB    DD1   3       2           Yes         No
1234   3       CD    DD1   3       1           Yes         No
1234   5       AB    DD1   3       2           Yes         No
7635   2       AB    EE2   2       1           No          Yes
7635   7       TT    OO6   2       1           No          Yes
9998   8       AB    DD1   2       2           No          Yes
9998   9       AB    DD1   2       2           No          Yes

2)计算他们
计算按类型和区域分组的重复IntID.
所以结果如下:

Type  Area  #IntID
AB    DD1     4
CD    DD1     1
AB    EE2     1
TT    OO6     1

我怎样才能在SQL中实现这一点(在DB2中)?

2号).

select area, type, count(*) from servicerequest group by area, type
网友评论