これは私のテーブル T1 の表現です:
acc_id|acc_holders|bal_1|bal_2
00001|002|50|100
00001|002|50|100
00002|001|100|100
00003|003|50|100
00003|003|50|100
acc_holders
口座保有者の数を示します。このbal_1
図は、保有者間で均等に分割された口座残高を表しています。Bal_2
口座全体の残高を表します。
問題は、一部の行 ( acc_id
00003 など) で、acc_holders
値がアカウントの出現回数と一致しないことです (00003 は 3 回出現する必要があります)。
次のようなものを使用してこれらの異常を選択したいと思います。
SELECT acc_id from t1
WHERE acc_holders <> count(distinct acc_id)
これにより、「集約関数 count() の誤用」というエラーがスローされます。