设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2187|回复: 6
打印 上一主题 下一主题

[模块/函数] 不重复计数的求教

[复制链接]
跳转到指定楼层
1#
发表于 2009-10-22 12:04:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
表1
     日期              姓名
2009-01-01        A3
2009-01-01        A3
2009-01-02        A3
2009-01-02        A4
2009-01-02        A4
想利用查询得到以下效果
日期计数                 姓名
    2天                     A3
    1天                     A4
也就是按照日期来计算A3有几天,A4有几天
请给位高手赐教!谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2009-10-22 12:09:11 | 只看该作者
最简单的方法是用两次分组合计查询来计算:
1.先用一个分组合计查询把相同的记录剔除(日期和姓名都分组);
2.再用一个分组合计查询把姓名相同的记计一下数(日期计数,姓名分组)
3#
 楼主| 发表于 2009-10-22 14:15:52 | 只看该作者
分组合计怎么剔除相同的日期呢?
我尝试了以下查询,剔除不了相同的日期
SELECT 表1.日期, 表1.姓名
FROM 表1
GROUP BY 表1.日期, 表1.姓名;

点击这里给我发消息

4#
发表于 2009-10-22 15:31:24 | 只看该作者
把上面的SQL语句保存为查询1,然后再建立以下一个查询: SELECT count(*), 姓名
FROM 查询1
GROUP BY 姓名;
5#
发表于 2009-10-22 20:08:04 | 只看该作者
个人感觉用DCount函数比较方便.
6#
发表于 2009-10-22 21:17:09 | 只看该作者
SELECT 表1.姓名, Min(表1.日期) AS 起, Max(表1.日期) AS 止, ([止]-[起]+1) & "天" AS 天数 FROM 表1 GROUP BY 表1.姓名;

查询运行效果见下图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
7#
发表于 2009-10-22 22:05:09 | 只看该作者
如果表中数据天数不连续,改为如下查询:
SELECT Count([t1].日期) & "天" AS 天数, [t1].姓名
FROM [SELECT 表2.日期, 表2.姓名
FROM 表2
GROUP BY 表2.日期, 表2.姓名]. AS t1
GROUP BY t1.姓名;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-29 09:23 , Processed in 0.104915 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表