Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |

27.04.2010, 16:23
|
|
Познающий
Регистрация: 17.02.2008
Сообщений: 63
Провел на форуме: 118377
Репутация:
83
|
|
Вопрос по sql выборке!
есть запрос:
SELECT * FROM `users` LIMIT 0,100
Можно ли как-нибудь его изменить, чтобы из найденных записей выбирались только каждые N записей, например 0, 10, 20 и т.д.
не прокатит:
1) WHERE ID%10 = 0 (т.к. могут быть удаленные ID)
2) делать программно, т.к. кол-во строчек строчек будет очень большим и все будет тормозит, т.е. надо именно средствами языка SQL (насчет тормозов проверял лично)
Последний раз редактировалось zEr0r; 27.04.2010 в 16:29..
|
|
|

27.04.2010, 20:11
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме: 6462214
Репутация:
3171
|
|
Сообщение от zEr0r
есть запрос:
SELECT * FROM `users` LIMIT 0,100
Можно ли как-нибудь его изменить, чтобы из найденных записей выбирались только каждые N записей, например 0, 10, 20 и т.д.
не прокатит:
1) WHERE ID%10 = 0 (т.к. могут быть удаленные ID)
2) делать программно, т.к. кол-во строчек строчек будет очень большим и все будет тормозит, т.е. надо именно средствами языка SQL (насчет тормозов проверял лично)
Брр, в каком слысле:
1) WHERE ID%10 = 0 (т.к. могут быть удаленные ID)
Если такого ID не существует - он и не выведется. А если вы удалили его, поставив например в поле delete = 1, то добавьте выборку еще и по этому порядку.
|
|
|

27.04.2010, 23:00
|
|
Познающий
Регистрация: 17.02.2008
Сообщений: 63
Провел на форуме: 118377
Репутация:
83
|
|
решение найдено:
select `users`.* from `users`, (select @i:=1,@n:=10) z where if(@i div @n,@i:=1,(@i:=@i+1) and 0);
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|