[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: mysql запрос, может знает кто как можно
smile
Допустим такой запрос:

1.
SELECT DATE_FORMAT(`DATETIME`,GET_FORMAT(DATE,"ISO")) AS DATE, COUNT(*) FROM `table` GROUP BY `DATE`, `IP`

Возвращает нечно в виде

1.
DATE = "2007-11-01", COUNT(*)="2"
2.
DATE = "2007-11-01", COUNT(*)="10"
3.
DATE = "2007-11-02", COUNT(*)="3"
4.
DATE = "2007-11-02", COUNT(*)="8"

т.е. количество одинаковых IP за конкретное число

вопрос собственно в том как получить количество разных IP за все даты? чтобы результат был типа, основывая на предыдущем результате:

1.
DATE = "2007-11-01", .... ="2"
2.
DATE = "2007-11-02", .... ="2"

одним запросом соответственно нужно ;-)



Спустя 23 часа, 26 минут, 3 секунды (27.11.2007 - 17:11) Ghost написал(а):
что конкретно надо?
если просто кол-во разных ип за интервал (за вчера 15 ип, за сегодня 11 (из них 10 теже что и вчера), итого 16) - не надо по дате группировать.
если нужен суммарный рез - за вчера 15 ип, за сегодня 11 (из них 10 теже что и вчера), итого 26, то тогда
select count(*) FROM (SELECT DATE_FORMAT(`DATETIME`,GET_FORMAT(DATE,"ISO")) AS DATE, COUNT(*) FROM `table` GROUP BY `DATE`, `IP`) as que

Спустя 4 минуты, 55 секунд (27.11.2007 - 17:16) Ghost написал(а):
или еще вариант - воспользосваться DISTINCT, выбрав дату(год, мес, день) и ип

Спустя 1 день, 6 часов, 9 минут, 17 секунд (28.11.2007 - 23:25) smile написал(а):
Цитата(Ghost @ 27.11.2007, 17:11) [snapback]29890[/snapback]
что конкретно надо?
если просто кол-во разных ип за интервал (за вчера 15 ип, за сегодня 11 (из них 10 теже что и вчера), итого 16) - не надо по дате группировать.
если нужен суммарный рез - за вчера 15 ип, за сегодня 11 (из них 10 теже что и вчера), итого 26, то тогда
select count(*) FROM (SELECT DATE_FORMAT(`DATETIME`,GET_FORMAT(DATE,"ISO")) AS DATE, COUNT(*) FROM `table` GROUP BY `DATE`, `IP`) as que


Да нужно, количество разных IP за каждое число. Твой запрос просто выведет сумму всех, но никак не по датам...

Спустя 1 час, 30 минут, 46 секунд (29.11.2007 - 00:56) Ghost написал(а):
select dat, count(*) FROM (SELECT distinct DATE_FORMAT(`DATETIME`,GET_FORMAT(DATE,"ISO")) AS DAT, ip FROM `table`) as que1 group by dat

Спустя 4 дня, 19 часов, 35 минут, 42 секунды (3.12.2007 - 20:32) smile написал(а):
Цитата(Ghost @ 29.11.2007, 0:56) [snapback]29973[/snapback]
select dat, count(*) FROM (SELECT distinct DATE_FORMAT(`DATETIME`,GET_FORMAT(DATE,"ISO")) AS DAT, ip FROM `table`) as que1 group by dat

спасибо ))


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.