powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выбрать записи из лога (в БД) за последний час для каждого IP
2 сообщений из 2, страница 1 из 1
Выбрать записи из лога (в БД) за последний час для каждого IP
    #39541265
poiuytrewq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый вечер,

имеется таблица с логом действий пользователя с полями:

Код: plsql
1.
user_id, ip, time, action



где user_id - числовой идентификатор пользователя,
ip - числовое представление IPv4,
time - timestamp (YYYY-MM-DD HH:MM:SS)
и action - строка, содержащая какое-то действие

задача, выбрать строки по одному конкретному user_id, чтобы в выборке присутствовали записи для каждого IP адреса за последний час. Уточню, за последний час для каждого IP, с учётом того, что IP адреса в логе появляются не одномоментно. Напирмер, IP адрес 192.168.0.1 впервые появился в логе вчера, а адрес 192.168.0.2 появился в логе сегодня.

Что-то вроде

Код: plsql
1.
`time` BETWEEN MAX(`time`) - INTERVAL 1 HOUR AND MAX(`time`)



можно ли это реализовать одним запросом, или только перебирая IP?
...
Рейтинг: 0 / 0
Выбрать записи из лога (в БД) за последний час для каждого IP
    #39541327
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сгруппировать по IP, взять наибольшее значение времени, отсечь слишком старые. Так, вроде, должно получиться.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выбрать записи из лога (в БД) за последний час для каждого IP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]