方法1:
1、先写一个名曰查询1的查询
select a.*,format(a.时间,"yyyy/mm") as 月度
from 阁下的表名称 as a
2、在此基础上写查询2
select a.*,dcount("*","查询1","月度 & ID='" & a.月度 & a.ID & "'") as 出现次数,dcount("*","查询1","月度 & ID='" & a.月度 & a.ID & "' and 时间<=" & a.时间) as 第几次
from 查询1 as a
方法2:
select a.*,format(a.时间,"yyyy/mm") as 月度,dcount("*","阁下的表名称","format(时间,'yyyy/mm') & ID='" & format(a.时间,'yyyy/mm') & a.ID & "'") as 出现次数,dcount("*","阁下的表名称","format(时间,'yyyy/mm') & ID='" & format(a.时间,'yyyy/mm') & a.ID & "' and 时间<=" & a.时间) as 第几次
from 阁下的表名称 as a
方法3:
select a.*,format(a.时间,"yyyy/mm") as 月度,
(select count(*) from 阁下的表名称 as b where year(b.时间)=year(a.时间) and month(a.时间)=month(b.时间) and b.ID=a.ID) as 出现次数,
(select count(*) from 阁下的表名称 as b where year(b.时间)=year(a.时间) and month(a.时间)=month(b.时间) and b.ID=a.ID and b.时间<=a.时间) as 第几次
from 阁下的表名称 as a
更详细的处理方法可参见《趣谈子查询》一文。
�������ش˸���
非常感谢,代码好多,我要好好品下。我正在看@煮江品茶的趣谈子查询文章,确实,在excel里面,如果要针对记录与记录之间的关系来新增字段,比如:
1个记录在当列出现几次excel可以用countif(...)
1个记录在其他列满足某条件下,当列出现几次,excel可以用countifs(.....)
1个重复出现的记录从时间上面,给它标示先后顺序(excel中,假设ID在A列,时间在B列,要将顺序标示在C列,将B列升序,再A列升序,C2写上1,C3往下开始的公式:if(a3=a2,c2+1,1)),这样就能针对有重复记录的ID从时间先后顺序上标示1、2、.....。
某列是ID,要求给重复记录编号,一样的记录编号一致,在excel中,假设这列在A列,编号写在B列,将A列升序,B2=1,B3开始的单元格,公式:if(a3=a2,b2,b2+1)
以上这些,都是在excel中,针对记录与记录之间的关系,很轻松就能做一些统计。
但access中,真的还不清楚怎么做,我好好学习下先。
按照楼上的方法,目前来看,方法3OK。1和2似乎单双引号,计算的结果是0呢,麻烦帮忙看看,谢谢。
总记录:2篇 页次:1/1 9 1 :