これは単に良い考えではないか、あまりに初歩的で見つからないかのどちらかです。次のようなテーブルがあるとします。
User | Q1 | Q2 | Q3
ann | 3 | 2 | 5
joe | 1 | 4 | 4
joe | 5 | 2 | 2
ann | 4 | 4 | 4
私が望むのは、特定の列の値がある数値より大きい場合に、ユーザーごとに各列の合計を返す単一のクエリです。したがって、上記の例では、結果は次のようになります。
User | Q1 | Q2 | Q3
ann | 7 | 4 | 9
joe | 5 | 4 | 4
列ごとの最小値が の場合3
。でもやってみるとわかる
WHERE Q1 >= 3 AND Q2 >= 3 AND Q3 >= 3
3つすべてが最小値を満たさない限り、行の値を集計することはできません。私が使用する場合
WHERE Q1 >= 3 OR Q2 >= 3 OR Q3 >= 3
必要なすべての行を取得しますが、集計値は最小値を下回ります。
これは 1 つのクエリでエレガントに実行できますか?