不是瀑布式分组的SQLCASE语句
我有3个类别:
categories number_units
CAT_A 10
CAT_B 20
CAT_C 30
如果我对列进行 GROUP BY,categories我将得到上面看到的 3 个类别。但是,如果我想做一个 case 语句,例如:
SELECT CASE WHEN categories LIKE 'CAT%' ...
(要显示所有包含 CAT 的总和,它将排除 CAT_A、_B、_C 等分组)
我如何编写一个将获得以下结果的查询:
categories sum
CAT 60
CAT_A 10
CAT_B 20
CAT_C 30
回答
许多数据库支持标准grouping sets功能:
select coalesce(category, 'CAT'), sum(number_of_units)
from t
group by grouping sets ((), category);