我有一个名为 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:重复 IntID 为“Type”和“Area”列的组合计算的次数
- 同一所有者;其中,在 Type 和 Area 的分组中,OwnerBussUnit 具有相同的值
- 差异所有者;其中,在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 中)中做到这一点?