Задавайте вопросы, мы ответим
Вы не зашли.
Всем привет. что-то у меня глюк с сортировкой в mysql, не могу понять что не так:
есть 2 запроса :
SELECT id FROM 2020_medicine WHERE id_region=1 AND status=1 ORDER BY rate_summ DESC LIMIT 0,12;
SELECT id FROM 2020_medicine WHERE id_region=1 AND status=1 ORDER BY rate_summ DESC LIMIT 12,12;
Которые должны выводить id не повторяющиеся вроде как.
но на деле во второй выборке встречаются id из первой выборки, что не должно быть. почему так? что за глюк?
id - int AUTO_INCREMENT первичный
id_region - int
status - tinyint
rate_summ decimal(4,1)
индекс id_region + status
PS. Версия сервера: 10.3.31-MariaDB-0ubuntu0.20.04.1 , Версия клиента базы данных: libmysql - mysqlnd 7.4.3
Неактивен
Вероятно у вас больше 12 повторов по rate_summ.
При неуникальном rate_summ запрос вида
SELECT id FROM ... ORDER BY rate_summ ..
может возвращать id в случайном порядке в рамках каждого rate_summ.
Нужно задать однозначную сортировку - ORDER BY rate_summ, id
Неактивен