SQL查询以计数ID

时间:2018-11-12 15:51:59

标签: sql ms-access

我正在尝试在MS Access中编写一个SQL查询,以计算每个ID在数据集中出现的次数。数据集的格式如下:

ID    Time
1     12345
1     12346
1     12350
2     99999
2     99999

如果一个 ID Time 在同一 ID 的另一个 Time 的3秒内,我只希望它被计算一次。因此结果应如下所示:

ID    Count
1     2
2     1

时间列未格式化为日期时间,因此我不能使用datediff函数。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

此:

SELECT ID, COUNT(newtime)
FROM (SELECT DISTINCT ID, Time\3 AS newtime FROM times)
GROUP BY ID

使用Access中Time的整数除法将Time\3字段值三元组。

答案 1 :(得分:0)

@Andy G提供的评论对我有用:

“您首先需要一个函数来舍入(或舍入)至最接近的3的倍数。例如,请参见here(allenbrowne)。”

我将时间值四舍五入到最接近的3的倍数,并根据该标准进行计数。