读书人

SQL 怎么实现这个复杂一点的分组统计?

发布时间: 2012-03-11 18:15:38 作者: rapoo

SQL 如何实现这个复杂一点的分组统计???
我的一个数据表中有这些资料
病历号 姓名 主治医生 科室 分类
01 张三 洪医生 1科 白内障
02 李四 胡医生 2科 白内障
01 张三 秦医生 1科 青光眼
01 张三 赵医生 2科 白内障
02 李四 徐医生 2科 综合


我想用SQL统计出这样的效果
科室 分类 病例数
1科 白内障 2
1科 青光眼 1
2科 白内障 1
2科 综合 1




[解决办法]
SELECT 科室, 分类, 病例数 = COUNT(*)
FROM 你的表
GROUP BY 科室, 分类,

[解决办法]
select
科室 , 分类 , Count(distinct 病历号) as 病例数
from table01
group by 科室 ,分类
[解决办法]
病历号 姓名 主治医生 科室 分类
01 张三 洪医生 1科 白内障
02 李四 胡医生 2科 白内障
01 张三 秦医生 1科 青光眼
01 张三 赵医生 2科 白内障
02 李四 徐医生 2科 综合





select 科室, 分类 ,count(*)as 病例数 from 表 group by 科室, 分类
[解决办法]
create table #talbebing(
病历号 varchar(10),
姓名 varchar(10),
主治医生 varchar(10),
科室 varchar(10),
分类 varchar(10)

)
insert into #talbebing select

'01 ' , '张三 ' , '洪医生 ' , '1科 ' , ' 白内障 ' union all select
'02 ' , ' 李四 ' , '胡医生 ' , ' 2科 ' , '白内障 'union all select
'01 ' , ' 张三 ' , '秦医生 ' , '1科 ' , '青光眼 'union all select
'01 ' , ' 张三 ' , '赵医生 ' , ' 2科 ' , '白内障 'union all select
'02 ' , '李四 ' , '徐医生 ' , ' 2科 ' , ' 综合 '


select 科室,分类,count(* ) from #talbebing group by 科室,分类 order by count(* ) desc
drop table #talbebing

读书人网 >SQL Server

热点推荐