Владимир55
16.03.2016 - 14:54
Подсчитывается количество уникальных IP:
mysql_query("SELECT COUNT(`id`) AS 'cnt' FROM `input_information` WHERE `ip` = '$ip' ");
Но в таблице есть еще поле URL, по которому может быть несколько записей с данным IP.
Как подсчитать количество записей с уникальным значением IP, исключив из подсчета записи с дублирующими URL ?
SELECT COUNT( DISTINCT `ip` ) FROM `input_information`
Владимир55
16.03.2016 - 15:41
Спасибо, это могло бы сделать исходную запись более лаконичной, но дальше в скрипте идет обработка с учетом IP, так что в данном случае так не надо.
Но главная проблема - это уникальность URL. Как её решить?.
нужно уникальное совпадение "ip - url" ?
то есть, 1 ip имеет допустим 5 уникальных страниц (всего допустим 7), и это должно быть в итоге 5 ?
Владимир55
16.03.2016 - 16:02
IP URL
123.12.0.0 /
123.12.0.0 /
123.12.0.0 /abc.php
Должно быть две записи с IP 123.12.0.0.
я вижу 2 варианта . Первый это обычный запрос
$sql = "
SELECT
id
FROM
`input_information`
GROUP BY
`ip`,`url`
";
$sql = mysql_query($sql);
echo 'уникальных записей '.mysql_num_rows($sql);
и второй сразу в mysql
SELECT
COUNT( `group`.`id` )
FROM
(
SELECT
`id`
FROM
`input_information`
GROUP BY
`ip`,
`url`
) AS `group`
Владимир55
16.03.2016 - 16:16
Спасибо!
Я вот тоже пытался в один запрос уложиться, но никак не получалось! Вроде бы, условия несложны, а в одно обращения не вписываются.
Еще раз спасибо!
правда такой запрос очень долго выполняется .
у меня на 322 000 записях выполняется 6.1 сек.
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.