如何在10分钟的时间间隔内找到十个不同的目的地?
user_id time action destination place
2017032000000000097 00:00:00 Click Rimini Regina Elena 57
2017032000000000097 00:03:53 Click Sant Regina Elena 571
2017032000000000097 00:01:16 Click Regina Regina Elena 572
2017032000000000097 00:04:34 Click Rimini Regina Elena 57
2017032000000000129 00:07:32 Click Berlin Müggelsee Berlin
2017032000000000129 00:18:36 Click GRC SensCity Berlin Spandau
2017032000000000129 00:16:12 Click Berlin Azimut Berlin City South
预期产量/类似产量
time destination(top 10 during 10 minute interval)
------------- ----
00:00:00 NULL
00:10:00 Rimini,Sant,Regina
00:20:00 Berlin,Grc
00:30:00 NULL
我试过下面的代码,
select destination , count(user_id),time from click
where MINUTE(time)>= MINUTE(now())-10 and MINUTE(time)< minute(now()) and destination is not null
group by destination,MINUTE(time)>= MINUTE(now())-10 and MINUTE(time)< minute(now()) order by count(user_id) desc;
3条答案
按热度按时间toiithl61#
取每一次的前三个字符,并在该子串上进行聚合。
所以前五次变成
00:0
接下来的三个变成00:1
这样,十分钟间隔内的任何时间都会被截断为相同的内容。给你
yrwegjxp2#
我通过下面的查询找到了解决办法。
r7s23pms3#