sql中count的用法

来源:百度知道 编辑:UC知道 时间:2024/05/09 03:28:28
表一
序号 单位名称
1 a
2 b
3 c

表二
单位名称 类别 时间
a e 2007-12-10
c f 2007-05-10
a g 2007-11-10
a e 2007-11-18

用count查询可以实现以下结果吗?
(一)
单位名称 2007二季度 2007四季度
a 0 3
b 0 0
c 1 0

(二)符合类别为e的结果
单位名称 2007二季度 2007四季度
a 0 2
b 0 0
c 0 0

用sum更好点,如
(一)
select a.单位名称,sum(case when b.时间>='2007-04-01' and b.时间<'2007-07-01' then 1 else 0 end) as [2007二季度],sum(case when b.时间>='2007-10-01' and b.时间<'2008-01-01' then 1 else 0 end) as [2007四季度] from 表一 a left join 表二 b on a.单位名称=b.单位名称 group by a.单位名称
(二)
select a.单位名称,sum(case when b.时间>='2007-04-01' and b.时间<'2007-07-01' and b.类别='e' then 1 else 0 end) as [2007二季度],sum(case when b.时间>='2007-10-01' and b.时间<'2008-01-01' and b.类别='e' then 1 else 0 end) as [2007四季度] from 表一 a left join 表二 b on a.单位名称=b.单位名称 group by a.单位名称

可以,你什么意思是要怎么实现的代码么?

当然可以