日期:2014-05-19  浏览次数:20464 次

这样的纪录条查询怎么统计?
表的结构是怎样的第一列是产品号数字有253001,253002~253018   第二列是地区号01~30
要求统计处地区号所有的人数,如果该地区号没有写0或者NULL都可以
查询的结果因该是怎样的
产品号   总数   地区号01   地区号02   ....地区号10
253001   568   25   75   ...   57
253002   577   NULL   32   ...   56
353002   689   69   57   ...   NULL
.
.
.
253018   785   69   57   ...   NULL

------解决方案--------------------
sql 2005 下用

select 产品号,[01] as 地区号01,[02] as 地区号02,....,[30] as 地区号30 from (select 产品号,地区号,人数=count(*) from 表 group by 产品号,地区号) p
pivot (sum(人数) FOR 地区号 IN ( [01], [02], [03],....[30])) as pvt order by 产品号