2015-01-12 3 views
0

есть некоторые Datas как следующий форматкак получить верхнее количество п по каждой группе в улье

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 

Я сейчас пытаюсь сосчитать 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 для реализации этого в улье?

обновление: извините я забыл заметить, что я должен получить верхние N записей в каждой группе, как ...

ответ

0

Try: SELECT url, ip, COUNT(url) FROM tbl GROUP BY url, ip

+0

ah извините, я забыл заметить, что хочу получить записи Top N в каждой группе ... спасибо за ответ. :) – kEvin

0
SELECT url, ip, count(*) as ipcount 
from table t 
group by url, ip 

Это должно работать в вашем случае.

Смежные вопросы