У меня есть таблица, содержащая данные на страницеhit (нормализованные), и мне нужно захватить 10 последних уникальных ips.Как получить 10 последних IP-адресов DISTINCT из таблицы MySQL?
Я попытался сделать это следующим образом:
SELECT * FROM spy_hits ORDER BY date desc GROUP BY ip LIMIT 10;
Который должен дать мне этот результат:
+-----+------------+-----+---------+----+------+------+---------+-------+-------+ | id | date | ip | browser | os | page | host | referer | query | agent | +-----+------------+-----+---------+----+------+------+---------+-------+-------+ | 354 | 1244442065 | 2 | 3 | 2 | 16 | 1 | 47 | 12 | 2 | | 311 | 1244442000 | 1 | 2 | 1 | 16 | 1 | 36 | 12 | 1 | +-----+------------+-----+---------+----+------+------+---------+-------+-------+ 2 rows in set (0.00 sec)
Это последние уникальных посетителей сайта.
Но вместо этого результата получается синтаксическая ошибка.
Так что я должен сделать этот запрос:
SELECT * FROM spy_hits GROUP BY ip ORDER BY date desc LIMIT 10;
который я думал, было бы хорошо. Но это дает этот результат:
+-----+------------+-----+---------+----+------+------+---------+-------+-------+ | id | date | ip | browser | os | page | host | referer | query | agent | +-----+------------+-----+---------+----+------+------+---------+-------+-------+ | 280 | 1242130841 | 2 | 3 | 2 | 16 | 1 | 47 | 12 | 2 | | 268 | 1242130818 | 1 | 2 | 1 | 16 | 1 | 36 | 12 | 1 | +-----+------------+-----+---------+----+------+------+---------+-------+-------+ 2 rows in set (0.00 sec)
Но это устанавливает порядок по дате после его сгруппированного уже так захватывает первый уникальный IP-адрес в таблице, которые также являются старейшими.
Так таблица идет:
id --- date 268 1242130818 (Old) | | V V 354 1244442065 (New)
Но я хочу, чтобы идти, как это раньше, чем я группа по:
id --- date 354 1244442065 (New) ^ ^ | | 268 1242130818 (Old)
Я использую PHP с ним, так что если кто-нибудь имеет представление о том, как получить результаты с помощью PHP-решения.
Приветствия заранее :)
+1 для твердого вопроса из относительно нового пользователя. Если бы все вопросы в StackOverflow были такими, мир был бы лучшим местом. –
+1 по той же причине вышеприведенного комментария. Так держать! :) – kizzx2