首页 新闻 会员 周边 捐助

sql2000 C# vs2005 分类统计

0
悬赏园豆:10 [已关闭问题] 关闭于 2009-04-14 09:29

表名aa

字段
id(自动编号)a_name(名字)a_no(代号 a_date(请假日期) a_sp(审批状况)

1 张三 123456 2009-3-9 未批
2 李四 123457 2009-1-9 已批
3 王二 123458 2009-1-6 已批
4 李四 123457 2009-3-22 已批
5 李四 123457 2009-3-28 未批
6 李四 123457 2009-3-29 未批
根据名字统计出审批状况的次数
比如 查询李四 自动计数
结果显示出2009年1月 已批1次
2009年3月 已批1次,未批2次
根据日期统计出审批状况的次数
比如 查询2009-1-1至2009-4-1 自动计数出
结果显示出2009年1月
李四 已批1次
王二 已批1次
2009年3月
张三 未批1次
李四 已批1次,未批2次

http://z.baidu.com/question/91803871.html

问题补充: 怎么实现那 select convert(varchar(7), a_date,120) as 月份, a_name as 名字,isnull(sum(case when a_sp='已批' then 1 else 0 end),0) as 已批,isnull(sum(case when a_sp='未批' then 1 else 0 end),0) as 未批 from aa where a_date between '2009-01-01' and '2009-04-01' group by convert(varchar(7), a_date,120) ,a_name 我整个这样的 能查出来 不会在页面实现出来 怎么整 帮我一下
wshk55的主页 wshk55 | 初学一级 | 园豆:185
提问于:2009-04-07 12:28
< >
分享
所有回答(1)
0

像这样的分组,再加上条件就行了。

select [name],sp,count(sp) from aa

where ......
group by [name],sp

侯垒 | 园豆:3435 (老鸟四级) | 2009-04-07 12:55
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册