我有这些行:
value1 | value2 | value3
-------------------------
1231234|23423423|B
2342345|12309123|X
3242344|53453453|X
3453454|45345344|I
2531534|53434534|X
6657555|42342234|I
3242343|34534345|B
我想在不过滤 value1 的情况下过滤和求和过滤后的 value2。
有什么更好的方法来处理这种情况?
当前列求和查询
SELECT
SUM(value1),
SUM(CASE WHEN (value3 = 'B' OR value3 = 'I') THEN value2 ELSE 0 END) FROM t
使用这种方法,300k 行的成本是 6 小时。
预期预结果:
value1 | value2 | value3
-------------------------
1231234|23423423|B
2342345|0 |X
3242344|0 |X
3453454|45345344|I
2531534|0 |X
6657555|42342234|I
3242343|34534345|B