标题: 查询一年内总数超三次的记录 [打印本页] 作者: andrewzeng 时间: 2007-8-4 10:00 标题: 查询一年内总数超三次的记录 如图所示[attach]25616[/attach][attach]25617[/attach]作者: fannky 时间: 2007-8-4 10:23 标题: 回复例子 回复例子^^^^^^^^^^^^^^^^^^^^作者: t小宝 时间: 2007-8-4 10:23 标题: 按年和代码分组查询 如下:
SELECT First(表1.工号) AS 工号, First(表1.日期) AS 一年开始的日期, 表1.失误代码, Count(表1.失误代码) AS 失误的总数
FROM 表1
GROUP BY 表1.失误代码, Year([日期])
HAVING (((Count(表1.失误代码))>2));作者: andrewzeng 时间: 2007-8-4 10:37
两位的思路也不错了,但是如果用year()函数似乎不行,因为这样只能以年来组合,跟我的原意不符,不知还有没有其他方法?作者: t小宝 时间: 2007-8-4 10:44
原来那个'一年'不是某一年,而是一年的时间,看来要用到VBA才能解决作者: andrewzeng 时间: 2007-8-4 10:50
呵呵呵,用VBA也可以啊,但怎么做呢?我原本想的是用SQL会更容易些哈作者: fannky 时间: 2007-8-4 11:07
要指定年份阿,那就把查询改一下,用下面的,可以不用VBA,视个人喜好而定
SELECT DISTINCTROW 表1.工号, Format$([日期],'yyyy') AS 年份, 表1.失误代码, Count(表1.失误代码) AS 失误代码之计数
FROM 表1
WHERE ((([年份]) Like "????"))
GROUP BY 表1.工号, Format$([日期],'yyyy'), 表1.失误代码
HAVING (((Format$([日期],'yyyy'))=[年份]) AND ((Count(表1.失误代码))>2));