![]() |
|
Модераторы: skyboy |
![]()
|
|
| skifoz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 23.1.2006 Где: Россия Репутация: нет Всего: 1 |
Вообщем проблема такая.
У меня есть таблица с полями ip|utime|action где ip - это ип адрес utime - время по UNIX action - какое либо действие от ip Мне нужно сгрупировать это все по отрезкам времени, например какой то ip сделал 10 действий в одно время, потом через минут 15 сделал еще 5 действий. Это все записалось в базу. И теперь мне нужно вывести все ip но только сгруппированным по времени . (ip адресов может быть много) то есть если просто сгрупировать по ip он в COUNT запишет все записи а мне нужно чтобы в каждом ip(даже если ip одинаковые) были записи в промежутке времени 15 минут. то есть чтобы выводило время - IP - 10 время - IP - 5 а не время - IP - 15 Кто-нибуть знает как можно так сгуппировать?? |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Например ввести вспомогательную таблицу требуемых интервалов группировки.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 41 Всего: 260 |
Не совсем понял, что требуется. Приведи пример пошире. Пока что могу только сказать, что ты можешь группировать не только по полям, но и по выражениям. Например,
Даст тебе разбивку по интервалам в 15 минут. Всё же обьясни на примере. Только так, чтоб несколько разных ИП, несколько разных дат, с разными минутами было... |
|||
|
||||
| skifoz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 23.1.2006 Где: Россия Репутация: нет Всего: 1 |
Привожу пример
смотри есть таблица ip|utime|action 1.1.1.1|10000|2 1.1.1.1|10000|1 1.1.1.1|10000|5 1.1.1.1|10000|6 1.1.1.2|10000|9 1.1.1.2|10000|1 1.1.1.1|20000|6 1.1.1.1|20000|5 1.1.1.2|20000|9 1.1.1.2|20000|1 1.1.1.2|20000|1 Нам например нужно чтобы вывело с интервалом в 10000 сек то есть чтобы было 1.1.1.1 - 4 1.1.1.2 - 2 1.1.1.1 - 2 1.1.1.2 - 3 если групировать по ип выводит 1.1.1.1 - 6 1.1.1.2 - 5 а мне надо как выше Это сообщение отредактировал(а) skifoz - 14.8.2006, 14:41 |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 41 Всего: 260 |
Надеюсь, я правильно тебя понял |
|||
|
||||
| Ignat |
|
|||
![]() Флудератор ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4030 Регистрация: 19.4.2004 Где: غيليندزيك مدينة Репутация: 21 Всего: 73 |
Что-то мне сдаётся, что здесь нужен банальный
-------------------- Теперь при чем :P |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 41 Всего: 260 |
Ignat, не совсем. Если нужна группировка по интервалам в 10000 секунд, GROUP BY utime, ip выдаст новую строку для каждой секунды, а не для нового 10000-секундного интервала ;) Ты же не предлагаешь собирать статистику по секундам?
|
|||
|
||||
| Ignat |
|
|||
![]() Флудератор ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4030 Регистрация: 19.4.2004 Где: غيليندزيك مدينة Репутация: 21 Всего: 73 |
Нет, конечно Но судя по представленным данным - таких там и нет. Хотя фиг его знает. -------------------- Теперь при чем :P |
|||
|
||||
| skifoz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 23.1.2006 Где: Россия Репутация: нет Всего: 1 |
Переданные данные я наугад писал) на самом деле там будут данные в формате unixtime то есть дофига значений, и еще если даже сделать как ты сказал то все равно так бы не прокатило, так как мне надо еще чтобы была групировка по ip, но все равно спасибо за участие в решении вопроса) Да!! Баальшое тебе спасибо) я просто в mysql не сильно парю, не знал что там есть DIV =) |
|||
|
||||
| Ignat |
|
|||
![]() Флудератор ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4030 Регистрация: 19.4.2004 Где: غيليندزيك مدينة Репутация: 21 Всего: 73 |
Гм.. А я вроде ip не пропускал ;) -------------------- Теперь при чем :P |
|||
|
||||
| skifoz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 23.1.2006 Где: Россия Репутация: нет Всего: 1 |
А да, сорри не заметил)) |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 41 Всего: 260 |
skifoz, вместо DIV можно было бы использовать floor/round... Тормознутее, наверное, но ведь описание функций есть в каждом файле справки
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |