展示每分钟前30个pv的uri
先用date_format函数将__time__格式化成分钟,用group by按每分钟聚合算出每分钟的pv, 得出的结果作为子查询,用rank() over(partition by time order by count desc) 按time聚合按count排序编号,根据rnk <= 30筛选出前30个pv的uri
SQL
* |
select
*
from(
select
time,
request_uri,
count,
rank() over(
partition by time
order by
count desc
) as rnk
from(
select
date_format(__time__, '%Y-%m-%d %H:%i') as time,
request_uri,
count(*) as count
from
log
group by
time,
request_uri
)
)
where
rnk <= 30
order by
time,
count desc
limit
1000