我正在尝试创建一个sql查询来收集在“c4”事件期间发生的所有事件。换句话说,我想得到在c4期间有starttime或endtime的所有行。
事件机器启动时间319:199:41c419:159:42a919:169:18b319:409:46j519:519:52g629:579:59
在上表中,我预计a3、a9和b3将被退回。
我的尝试如下,但我不知道如何区分被检查行的时间和c4行的时间。
COUNTIF(
eventId = 'c4'
AND UNIX_SECONDS(startTime) > UNIX_SECONDS(startTime)
AND UNIX_SECONDS(endTime) < UNIX_SECONDS(endTime)) OVER (
PARTITION BY machineId
) AS is_during_c4
感谢您的指导。
1条答案
按热度按时间3lxsmp7m1#
你可以用
join
:请注意,在这种情况下通常需要的是任何重叠,上面的逻辑不包括:
为此,逻辑是: