2016-06-23 2 views
0

У меня есть таблица, где я храню информацию о каждом времени загрузки страницы. Поэтому у меня есть следующие строки: id, ip, date. Теперь я хочу SELECT 5 самых активных IP-адресов и получить общее количество раз, когда они загрузили страницу. Таким образом, результат я должен выглядеть следующим образом:PHP-запрос к DB

  1. IP - 193.211.187.1 просмотров - 542
  2. IP - 192.122.152.1 просмотров-451

  3. IP - 191.141.100.1 просмотров-331

Надеюсь, вы меня правильно поняли.

+1

[подсчет строк] (http://dev.mysql.com/doc/refman/5.7/ ru/counting-rows.html) – postrel

ответ

4

Вы должны использовать group by и count, чтобы вытащить большинство просмотров по IP.

select ip, count(*) as count 
from logs 
group by ip 
order by count desc 
limit 5 

Простой Демонстрация: http://sqlfiddle.com/#!9/fa26a3/1

+0

Очень адекватный ответ. Благодаря :) –

2

использование этого query изменение table name в соответствии с вашими

SELECT ip, count(ip) visits 
FROM table 
GROUP BY ip 
ORDER BY visits DESC 
LIMIT 5 
Смежные вопросы