问题:现有一张表,有品牌/产品/数量三个字段,需要把产品中带荣耀字样的单独作为品牌,汇总各品牌的数量(结果如图2所示)。
之前我想的是case when,但是似乎行不通,麻烦大神帮忙看下,多谢了~
可以创建一张虚拟表,新增一列为名称为“品牌2”,然后根据品牌2分组查询,下面的字段都是中文,建议改成英文
SELECT p2.品牌2,sum(数量) as 数量 from
(SELECT *,品牌 as 品牌2 from product where left(产品,2)!='荣耀'
UNION all
SELECT *,left(产品,2) as 品牌2 from product where left(产品,2)='荣耀') p2
GROUP BY p2.品牌2