Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

access分组不重复计数

绛水  发表于:2015-05-03 16:44:18  
复制

表格中有多个ID号,每个ID号对应多个日期(有重复),要求输出每个ID号对应多少个不重复的日期。请各位帮帮忙,感激不尽!!

 

Top
金宇 发表于:2015-05-04 08:51:02
建议最好将你的示例上传,这样便于网友分析协助你解决问题。

zhaoyoulong 发表于:2015-05-04 09:03:39
select ID,count([日期]) as 日期数量  from  表 group by ID

绛水 发表于:2015-05-04 10:45:24
@zhaoyoulong  这样得到的不是不重复计数,可以请你再看看吗?我需要的是对日期进行不重复计数示例

煮江品茶 发表于:2015-05-04 11:04:15

select count(a.*) as 计数 

from (select distinct 日期 from 阁下的表名称) as a



绛水 发表于:2015-05-04 11:09:09

@煮江品茶,请问您说的a是指某一个ID号吗?多个ID号可以同时输出吗



zhaoyoulong 发表于:2015-05-04 12:12:20

不重复:

SELECT ID号, Count(日期) AS 日期数量

FROM 表
GROUP BY ID号

HAVING (Count(日期)=1)

重复:

SELECT ID号, Count(日期) AS 日期数量

FROM 表
GROUP BY ID号

HAVING (Count(日期)>1)

统计有重复的ID号 数量:

select count(*) as 计数 

from (SELECT ID号, Count(日期) AS 日期数量 FROM 表 GROUP BY ID号 HAVING (Count(日期)>1)) as a


统计不重复的ID号 数量:


select count(*) as 计数 

from (SELECT ID号, Count(日期) AS 日期数量 FROM 表 GROUP BY ID号 HAVING (Count(日期)=1)) as a






煮江品茶 发表于:2015-05-04 14:10:26

 要每个ID的不重复日期计数,这样即可:

select a.ID, count(a.*) as 计数 

from (select distinct ID, 日期 from 阁下的表名称) as a

group by a.ID 


6楼用分组查询也可以,不过据说distinct的效率比Group要高一些。



绛水 发表于:2015-05-06 19:03:50
非常感谢两位!!

总记录:8篇  页次:1/1 9 1 :