初学者,请大家帮个忙,求个SQL,先谢了!
原始表是:
姓名志愿一志愿二志愿三
张三北京上海青岛
李四青岛北京广州
王五上海青岛广州
邓六上海青岛北京
需要出脚本按志愿统计每个城市的人数,结果如下:
志愿一 志愿二 志愿三
北京111
青岛121
上海210
广州002
该如何写SQL呢,先谢谢各位了!
[解决办法]
修改一下
select sum(case when xz='志愿一' then 1 else 0 end),
sum(case when xz='志愿二' then 1 else 0 end),
sum(case when xz='志愿三' then 1 else 0 end)
from (
select '志愿一' as xz,志愿一 as zy from tt
union all
select '志愿二' as xz,志愿二 from tt
union all
select '志愿三' as xz,志愿三 from tt) a
group by zy