誰かがApacheDerbySQLのSQLクエリを手伝って、「単純な」カウントを取得できますか。
このようなテーブルABCが与えられます...
id abc 1 1 1 1 2 1 1 2 3 2 1 3 4 2 1 1 ** 5 2 1 2 ** ** 6 2 2 1 ** 7 3 1 2 8 3 1 3 9 3 1 1
'a'の異なる値が(b=1とc=2)AND(b=2とc=1)の両方を持ち、1の正しい結果を得る方法のカウントを取得するクエリを作成するにはどうすればよいですか?マークされた2つの行が基準に一致し、両方の値がa = 2である場合、このテーブルには基準に一致するaの値が1つだけあります)
トリッキーな点(b=1 and c=2) AND (b=2 and c=1)
は、単一の行に適用すると明らかに相互に排他的であるということです。..では、その式をaの個別の値の複数の行に適用するにはどうすればよいですか?
これらのクエリは間違っていますが、私がやろうとしていることを説明するために...
SELECT DISTINCT COUNT(a) WHERE b=1 AND c=2 AND b=2 AND c=1 ...
..(0)相互に排他的
SELECT DISTINCT COUNT(a) WHERE b=1 AND c=2 OR b=2 AND c=1 ...
ではありません..(3)間違った結果が得られます。
SELECT COUNT(a) (CASE WHEN b=1 AND c=10 THEN 1 END) FROM ABC WHERE b=2 AND c=1
..(0)相互に排他的ではありません
乾杯、フィル。