我有一个包含 3 个字段的表格(与问题相关)。一个字段是数字,另外两个具有基于文本的内容。我想得到数字字段的总和,如下所示:
- 按字段 A 分组
- 如果字段 B 等于 X,则添加
如果字段 B 等于 Y,则减去
ABC, X, 25
ABC, X, 15
ABC, Y, 10
DEF, X, 20
DEF, Y, 5
上述数据将返回:
ABC, 30
DEF, 15
理想情况下,我的查询将产生与以下内容等效的内容:
SELECT fieldA, SUM(fieldC) AS sum1 FROM my_table WHERE fieldB = 'X' GROUP BY fieldA
SELECT fieldA, SUM(fieldC) AS sum2 FROM my_table WHERE fieldB = 'Y' GROUP BY fieldA
RESULT = sum1 - sum2
如何在单个查询中执行此操作?