SQL データベースに次のテーブル構造があるとします。
Att1 | Att2 | Att3 | Cnt
特定の Att1 のすべての Att2 の組み合わせに対する Att3 の重複を理解したいと思います。たとえば、次のテーブルがあるとします。
123 | 456 | abc | 1
123 | 456 | efg | 1
123 | 456 | hij | 1
123 | 456 | klm | 1
123 | 456 | nop | 1
123 | 789 | efg | 1
123 | 789 | abc | 1
123 | 789 | xyz | 1
123 | 789 | nop | 1
345 | 456 | abc | 1
345 | 456 | efg | 1
345 | 789 | abc | 1
345 | 999 | efg | 1
次の出力を生成します。
123 | 456 | 456 | 1.0
123 | 456 | 789 | .6
123 | 789 | 456 | .75
123 | 789 | 789 | 1.0
345 | 456 | 456 | 1.0
345 | 456 | 789 | .5
345 | 456 | 999 | .5
345 | 789 | 456 | 1.0
345 | 789 | 789 | 1.0
345 | 789 | 999 | 0
345 | 999 | 456 | 1.0
345 | 999 | 789 | 0
345 | 999 | 999 | 1.0
これは SQL を使用して行うのが最善ではないことを理解しています。そのため、他の代替案を聞いてうれしく思いますが、SQL は現在利用可能なデータがある場所です。