SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 06.01.2015 10:09:44

63ek
Участник
Зарегистрирован: 03.02.2014
Сообщений: 4

От чего не работает ORDER BY FIELD() & LIMIT 0,10 / 10,10?

Есть табличка 2-х полей из которой я дергаю записи используя сортировку
ORDER BY FIELD('3', '0', '1', '2') LIMIT 0, 10


id    status
1234    3
1235    3
1231    0
1240    0
1239    0
1238    0
1237    0
1236    0
1257    0
1242    0


после хочу посмотреть следующие 10 записей
ORDER BY FIELD('3', '0', '1', '2') LIMIT 10, 10


id    status
1243    0
1242    0
1241    0
1240    0
1239    0
1238    0
1237    0
1236    0
1257    0
1252    0


тут записи повторяются, как правильно организовать постраничный вывод в таком случае?

Неактивен

 

#2 06.01.2015 17:00:55

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: От чего не работает ORDER BY FIELD() & LIMIT 0,10 / 10,10?

Дело не в ORDER BY FIELD().
Когда вы делаете сортировку по status, в каком порядке должны выводится поля с одинаковым значением status? Результат может отличатся каждый раз.
Чтобы не было неопределенности сортируйте по status и id.

Неактивен

 

#3 08.01.2015 08:34:14

63ek
Участник
Зарегистрирован: 03.02.2014
Сообщений: 4

Re: От чего не работает ORDER BY FIELD() & LIMIT 0,10 / 10,10?

Спасибо

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson