PDA

Просмотр полной версии : Вопрос по sql выборке!


zEr0r
27.04.2010, 16:23
есть запрос:
SELECT * FROM `users` LIMIT 0,100

Можно ли как-нибудь его изменить, чтобы из найденных записей выбирались только каждые N записей, например 0, 10, 20 и т.д.
не прокатит:
1) WHERE ID%10 = 0 (т.к. могут быть удаленные ID)
2) делать программно, т.к. кол-во строчек строчек будет очень большим и все будет тормозит, т.е. надо именно средствами языка SQL (насчет тормозов проверял лично)

m0Hze
27.04.2010, 20:11
есть запрос:
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, то добавьте выборку еще и по этому порядку.

zEr0r
27.04.2010, 23:00
решение найдено:

select `users`.* from `users`, (select @i:=1,@n:=10) z where if(@i div @n,@i:=1,(@i:=@i+1) and 0);