POSTGRESQL:满足2个条件时对字段求和
POSTGRESQL: Sum a field when 2 condtions are met
我想知道我是否可以得到一些帮助。
我有一个查询,我正在尝试写入我使用 3 个字段的查询:ID、选项和金额。
我需要对我的唯一 ID 进行分组,然后在该组中我需要按选项白色拆分,总计每个选项的金额。
例如:
编号:11111
--> 选项A 500
--> 选项 B 100
编号:11112
--> 选项A 150
--> 选项 B 100
等....
希望我的描述足够:)
感谢帮助。
我猜您正在寻找如下例所示的条件总和:
SELECT id,
Sum( CASE WHEN OptionA = 500 THEN aumount END ) As Sum_ForOptionA500,
Sum( CASE WHEN OptionB = 100 THEN aumount END ) As Sum_ForOptionB100,
Sum( CASE WHEN OptionA = 200 AND OptionB = 300 THEN aumount END )
As Sum_ForOptionA200_B300,
.......
FROM table
GROUP BY id
或者只计算所有可用选项组合的总和,例如
SELECT id, optionA, optionB, sum( Amount )
FROM table
GROUP BY id, optionA, optionB
我想知道我是否可以得到一些帮助。
我有一个查询,我正在尝试写入我使用 3 个字段的查询:ID、选项和金额。
我需要对我的唯一 ID 进行分组,然后在该组中我需要按选项白色拆分,总计每个选项的金额。
例如: 编号:11111 --> 选项A 500 --> 选项 B 100
编号:11112 --> 选项A 150 --> 选项 B 100 等....
希望我的描述足够:)
感谢帮助。
我猜您正在寻找如下例所示的条件总和:
SELECT id,
Sum( CASE WHEN OptionA = 500 THEN aumount END ) As Sum_ForOptionA500,
Sum( CASE WHEN OptionB = 100 THEN aumount END ) As Sum_ForOptionB100,
Sum( CASE WHEN OptionA = 200 AND OptionB = 300 THEN aumount END )
As Sum_ForOptionA200_B300,
.......
FROM table
GROUP BY id
或者只计算所有可用选项组合的总和,例如
SELECT id, optionA, optionB, sum( Amount )
FROM table
GROUP BY id, optionA, optionB