![]() |
Вопрос по sql выборке!
есть запрос:
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, то добавьте выборку еще и по этому порядку. |
решение найдено:
select `users`.* from `users`, (select @i:=1,@n:=10) z where if(@i div @n,@i:=1,(@i:=@i+1) and 0); |
| Время: 11:19 |