我们知道我们通常使用的 语句是:
SELECT AREA_ID,NUM
FROM A
WHERE AREA_ID IN (1,2,3,4)
GROUP BY
AREA_ID
字段解释; AREA_ID为 地域代码,NUM为数量
假如查询的结果是AREA_ID NUM
1 40
2 50
3 60
4 70而事实上,AREA_ID 为1,2的时候表示 上海,为3,4的时候表示北京
我要得到的结果应该是地区 NUM
上海 90
北京 130
该怎么办? 是不是需要另外建一个表,然后搞个子查询才能得到我要的结果?
SELECT AREA_ID,NUM
FROM A
WHERE AREA_ID IN (1,2,3,4)
GROUP BY
AREA_ID
字段解释; AREA_ID为 地域代码,NUM为数量
假如查询的结果是AREA_ID NUM
1 40
2 50
3 60
4 70而事实上,AREA_ID 为1,2的时候表示 上海,为3,4的时候表示北京
我要得到的结果应该是地区 NUM
上海 90
北京 130
该怎么办? 是不是需要另外建一个表,然后搞个子查询才能得到我要的结果?
FROM A
WHERE AREA_ID IN (1,2,3,4)
GROUP BY
(case when AREA_ID in(1,2) then '上海' else '北京' end) order by sum(NUM)
FROM A
WHERE AREA_ID between 1 and 4 GROUP BY
(case when AREA_ID in(1,2) then '上海' else '北京' end) order by sum(NUM)
FROM A
WHERE AREA_ID IN (1,2,3,4)
GROUP BY
(case when AREA_ID in(1,2) then '上海' else '北京' end) order by sum(NUM)
select area_id,num,area from
(select area_id,num, 'bj' as area from t1 where num=1 or num=2
union
select area_id,num, 'sh'as area from t1 where num=1 or num=2 )
as aa
group by aa.area
SELECT (case when AREA_ID in(1,2) then '上海' else '北京' end) as 地区,sum(NUM) as NUM
FROM A
WHERE AREA_ID between 1 and 4 GROUP BY
(case when AREA_ID in(1,2) then '上海' else '北京' end) order by sum(NUM)