Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Вопрос по sql выборке! (https://forum.antichat.xyz/showthread.php?t=199743)

zEr0r 27.04.2010 16:23

Вопрос по sql выборке!
 
есть запрос:
SELECT * FROM `users` LIMIT 0,100

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

m0Hze 27.04.2010 20:11

Цитата:

Сообщение от 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, то добавьте выборку еще и по этому порядку.

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);


Время: 11:19