首页 > 解决方案 > 查询给定时间范围内的重复事件

问题描述

我有一组MM/DD可以由不同用户重复的事件(Time in ):

EventId   Event     Time                   User
1         Start     06/01/2012 10:05AM      1
1         End       06/05/2012 10:45AM      1
2         Start     07/07/2012 09:55AM      2
2         End       09/07/2012 11:05AM      2
3         Start     09/01/2012 11:05AM      2
3         End       09/03/2012 11:05AM      2

我想使用 SQL 获取用户在指定时间范围内完成的那些事件,例如:
给定06/06/2012并且09/02/2012我期望得到:

EventId   Event     Time                   User
2         Start     07/07/2012 09:55AM      2
2         End       09/07/2012 11:05AM      2
3         Start     09/01/2012 11:05AM      1

关于如何处理这个问题的任何想法?

标签: sqldatabasesnowflake-cloud-data-platform

解决方案


一个基本的范围查询应该在这里工作:

SELECT *
FROM yourTable
WHERE Time >= '2012-06-06'::date AND Time < '2012-09-03'::date;

这假设您希望记录从 2012 年 6 月 6 日到同年 9 月 2 日。


推荐阅读