![]() |
Модераторы: skyboy |
![]() ![]() ![]() |
|
DIMONSOFT |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 230 Регистрация: 19.12.2004 Где: Киев Репутация: нет Всего: -3 |
В таблице есть такие данные:
![]() Нужно выбрать все записи, но чтобы логин не повторялся более 4 раз. Т.е.: ![]() --------------------
|
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 1 Всего: 130 |
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
Zloxa |
|
||||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Конечно же для mysql?
решение не полиномиально. Количество ресурсов требуемых для его выполнения растет по экспоненте с увеличением объема исходных данных. Потому на практике редко оказывается приемлемым. Это сообщение отредактировал(а) Zloxa - 15.7.2011, 16:15 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
||||
|
|||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 1 Всего: 130 |
Zloxa, зачем так сложно?
![]() -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Данкинг, вероятно, просто кто-то из нас не совсем правильно понял задачу
![]() Это сообщение отредактировал(а) Zloxa - 15.7.2011, 16:13 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
DIMONSOFT |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 230 Регистрация: 19.12.2004 Где: Киев Репутация: нет Всего: -3 |
Да, конечно.
Я так понимаю, это выберет все записи, у которых одинаковый логин повторяется менее 5 раз. Извините, неверно сформулировал задачу. В таблице хранятся логины и дата. Нужно выбрать не более 5 записей каждого логина, в которых дата равна 00-00-0000 и при этом же, дата последних 5 записей(с этим логином) должна быть больше 1 часа. Если дата меньше часа(например, нашлось 3 записи с логином anton, то нужно выбрать не 5, а 2 записи с логином anton, где дата равна 00-00-0000. Объясню проще: пишется спамилка, можно спамить не более 5 раз в час с одного логина. В таблицу постепенно заносятся записи с логином и параметрами. Скрипт будет вызываться по крону. p.s. ничего асоциального ![]() Пример таблицы: | login | data | user1 00-00-0000 00 00 user1 00-00-0000 00 00 user1 00-00-0000 00 00 user1 00-00-0000 00 00 user1 00-00-0000 00 00 user2 00-00-0000 00 00 user2 00-00-0000 00 00 user1 00-00-0000 00 00 user1 15-07-2011 19:04 Т.е. нужно: | login | data | user1 00-00-0000 00 00 user1 00-00-0000 00 00 user1 00-00-0000 00 00 user1 00-00-0000 00 00 user2 00-00-0000 00 00 user2 00-00-0000 00 00 User1 выбирается 4 записи, т.к. возраст последней < 1 часа, а постить можно не более 5 раз в час. Это сообщение отредактировал(а) DIMONSOFT - 15.7.2011, 19:08 --------------------
|
||||
|
|||||
DIMONSOFT |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 230 Регистрация: 19.12.2004 Где: Киев Репутация: нет Всего: -3 |
Решил задачу с помощью php:
--------------------
|
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |