要么这不是一个好主意,要么它太初级以至于我找不到它。假设我有一个像这样的表:
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
我会得到所有想要的行,但会得到低于最小值的聚合值。
这可以在一个查询中优雅地完成吗?