首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

group by 的这个有关问题大家不知有没有碰到

2012-01-11 
group by 的这个问题大家不知有没有碰到我们知道我们通常使用的语句是:SELECTAREA_ID,NUMFROMAWHEREAREA_I

group by 的这个问题大家不知有没有碰到
我们知道我们通常使用的   语句是:
SELECT   AREA_ID,NUM
FROM   A
WHERE   AREA_ID   IN   (1,2,3,4)
GROUP   BY  
AREA_ID  


字段解释;   AREA_ID为   地域代码,NUM为数量
假如查询的结果是

AREA_IDNUM
140
250
360
470

而事实上,AREA_ID   为1,2的时候表示   上海,为3,4的时候表示北京
我要得到的结果应该是

地区     NUM
上海     90      
北京     130
该怎么办?   是不是需要另外建一个表,然后搞个子查询才能得到我要的结果?

[解决办法]
SELECT (case when AREA_ID in(1,2) then '上海 ' else '北京 ' end),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)

热点排行