求一SQL count(*)问题。
有一张表:TABL_CITY
字段
ID CITY_NAME SERVER_ID
1 北京 1001
2 北京 1002
3 上海 1003
4 上海 1002
(注:
SERVER_ID 1001=下载;
SERVER_ID 1002=直播;
SERVER_ID 1003=点播)
我现在要求查询结果变成
ID CITY_NAME 下载 直播 点播 总数
1 北京 1 1 0 2
2 上海 0 1 1 2
这个SQL语句该怎么写啊。
------解决方案--------------------select id,
city_name,
count(server_id = 1001) as 下载,
count(server_id = 1002) as 直播,
count(server_id = 1003) as 点播,
count(server_id = 1003) +count(server_id = 1002) + count(server_id = 1003) as 点播,
from TABL_CITY
group by id, city_name
------解决方案--------------------count(when server_id = 1001 then 1 else 0) as 下载
其他以此类推