我有一个查询,它以下列格式返回数据:
xxx yyy count
-------------------------------
a cat1 23
a cat2 34
a cat3 12
b cat1 34
b cat2 1
b cat3 2
c cat1 34
c cat2 123
c cat3 34
d cat1 34
d cat2 12
d cat3 34
我需要修改我的查询,以便我需要将yyy列的两个值分类为单个并合并其计数
xxx yyy count
-------------------------------
a cat1 23
a cat2 & cat3 36
b cat1 34
b cat2 & cat3 3
c cat1 34
c cat2 & cat3 157
d cat1 34
d cat2 & cat3 36
如果您有任何想法,请提出建议!
答案 0 :(得分:0)
假设你总是希望cat1爆发而且只有2只猫......
SELECT xxx, yyy, COUNT(*) AS count
FROM table
WHERE yyy = 'cat1'
GROUP BY xxx, yyy
UNION
SELECT xxx, 'cat2 & cat3' AS yyy, COUNT(*) AS count
FROM table
WHERE yyy <> 'cat1'
GROUP BY xxx
如果您有其他猫,而您只需要2和3,请将WHERE yyy <> 'cat1'
更改为WHERE yyy IN ('cat2','cat3')