这条sql语句这么写?
发布网友
发布时间:2022-05-05 07:13
我来回答
共1个回答
热心网友
时间:2022-05-05 08:42
PS:这个表里最起码也应该有个时间戳的字段吧,不然都是重复数据,hive下测试;
思路:先统计每个网址被不同IP访问的次数,然后以网站和ip进行分组,以次数降序排序,取小于等于3即可;(代码未取rank<=3,也要考虑次数一样的ip等);
code:
select t1.web,t1.ip,dense_rank() over(partition by t1.web,t1.ip order by t1.counts desc) as rank from (select web,ip,count(*) as `counts` from t group by web,ip)as t1
可以看下row_number()、dense_rank()、rank()的区别;