Access中分组统计的实例

发表于:2007-06-30来源:作者:点击数: 标签:
Access中分组统计的实例 整理自:http://expert.csdn.net/Expert/topic/2727/2727523.xml?temp=.1140711 online 表下有字段: 描述:用户名 版本 是否注册 字段:usr_name ver isreg 现表中有以下记录: aaa cn true bbb cn false ccc en true ddd fr true 结
Access中分组统计的实例

整理自:http://expert.csdn.net/Expert/topic/2727/2727523.xml?temp=.1140711

online 表下有字段:
描述:用户名 版本 是否注册
字段:usr_name ver isreg
现表中有以下记录:
aaa cn true
bbb cn false
ccc en true
ddd fr true

结果要求:查询每个版本的注册用户和未注册用户的数目,得出如下结构:
版本 注册数量  未注册
cn 1 1
en 1 0
fr 1 0

请教在 Access 2000 环境下 SQL 语句的写法

困扰几天终于解决:

1. MS SQL SERVER 2000中的一种方式:
select ver as 版本, sum(case when isreg=true then 1 else 0 end) as 注册数量, sum(case when isreg=false then 1 else 0 end) as 未注册数量 from online group by 版本

2. Access 2000下测试通过:
SELECT DISTINCT ver as 版本, (SELECT COUNT(*) FROM online WHERE ver=m.ver and isreg=TRUE) AS 注册数量, (SELECT COUNT(*) FROM online WHERE ver=m.ver and isreg=FALSE) AS 未注册数量
FROM online AS m


原文转自:http://www.ltesting.net