分组查询的问题

企业表中有企业名称、所在省份、经济类型三个字段,想按省份分组查询做一个统计表

select distinct 所在省份,count(经济类型) from 企业信息表

结果如下:
[img]http://dl.iteye.com/upload/attachment/0065/3225/8dbe7ac3-46cd-3556-9453-3f14e2f207d5.jpg[/img]

请问怎么能查询出下面这种结果集啊?前提,经济类型有未知值,可能是三个、五个、二十个,省份值的数量也是未知的。谢谢!

[img]http://dl.iteye.com/upload/attachment/0065/3227/002d896e-4038-3a3f-b44f-4e79807cc0fa.jpg[/img]

oracle写法
select 所在省份,count(经济类型), coalesce(sum(decode(经济类型,'国有企业',1,0)),0) as 国有企业, coalesce(sum(decode(经济类型,'外资企业',1,0)),0) as 外资企业,coalesce(sum(decode(经济类型,'合资企业',1,0)),0) as 合资企业 from 企业信息表 group by 省份
coalesce 判断是否为空,sum 是集合函数,decode是判断经济类型是否等于第二个参数。
对应的sql也是一样的