有一些数据如下面的格式
url | ip
-----------------------+-----------------
http://aaa.com/ | 1.1.1.1
http://bbb.com/ | 1.2.3.5
http://ccc.com/ | 1.1.1.6
http://ddd.com/ | 1.2.3.4
http://ccc.com/ | 1.1.1.2
http://ccc.com/ | 1.1.1.2
http://ccc.com/ | 1.1.1.2
http://aaa.com/ | 1.1.1.1
http://bbb.com/ | 1.2.3.5
我现在尝试通过url计算每个组中最高n ip的ip列。像
url | ip | ipcount
-----------------------+-----------------+-----------------
http://aaa.com/ | 1.1.1.1 | 2
http://aaa.com/ | 5.6.7.8 | 1
http://bbb.com/ | 1.2.3.5 | 2
http://ccc.com/ | 1.1.1.2 | 3
http://ccc.com/ | 1.1.1.6 | 1
http://ddd.com/ | 1.2.3.4 | 1
请告诉我如何编写HQL以在Hive中实现它?
更新:抱歉,我忘了注意到我应该在每个组中获得前N个记录,如...
答案 0 :(得分:0)
尝试:SELECT url, ip, COUNT(url) FROM tbl GROUP BY url, ip
答案 1 :(得分:0)
SELECT url, ip, count(*) as ipcount
from table t
group by url, ip
这适用于你的情况。