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 がカウントされる回数 (2 回以上になる可能性があります)
- #GroupBy: 列「Type」と「Area」の組み合わせで、重複する IntID がカウントされた回数
- 同じ所有者; ここで、Type と Area のグループ化で、OwnerBussUnit の値は同じです
- DiffOwner; ここで、Type と Area のグループ化で、OwnerBussUnit は同じ値を持たない 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) COUNTING THEM Type と Area でグループ化された重複する IntID をカウントします。したがって、結果は次のようになります。
Type Area #IntID
AB DD1 4
CD DD1 1
AB EE2 1
TT OO6 1
SQL (DB2) でこれを行うにはどうすればよいですか?