select accept_id,时间段='16-17点',日期=cast(day(时间字段) as varchar(2)) + '日',数量=count(时间字段) from accept where hour(时间字段)=16 group by accept_id,时间字段
--用以上代码可以查询出各天的数据量,再用行转列如下:
select * from
(select accept_id,时间段='16-17点',日期=cast(day(时间字段) as varchar(2)) + '日',数量=count(时间字段) from accept where hour(时间字段)=16 group by accept_id,时间字段)s
pivot( MAX(数量) FOR 日期 IN (1日,2日,3日,4日,5日,6日,7日,8日,9日,10日))a
你自己根据你的accept表的字段将以上代码里的相应字段替换一下。