Почему ORDER BY DESC в mysql работает не в 100% случаев?

Есть база данных с типом INTEGER, туда заносятся разные значения путём предварительного их сокращения до 2 символов после запятой: price = float("%.2f" % pricemore).
Есть как отрицательные, так и положительные значения, 0 тоже присутствуют, но пустых ячеек "Null" нет.

Суть проблемы: при использовании

cursor.execute("SELECT * FROM table WHERE status = '1'  ORDER BY price DESC ")
la = cursor.fetchall()

и дальнейших непотребствах с полученными данными ИНОГДА (как правило, исключительно при первом запуске) данные не сортируются, а просто берутся в том порядке, в каком были размещены в таблице.

Однако, когда я останавливаю скрипт, и запускаю код снова, он уже нормально сортирует.

В чём может быть причина таких сбоев в сортировке? Они смертельны в моём случае.

И есть ли какой-то аналог со стороны python, чтобы сортировку производил он по базе, а не сама база, т.к. как сказано выше, она даёт сбои.
  • Вопрос задан
  • 541 просмотр
Решения вопроса 1
DevMan
@DevMan
ORDER BY DESC работает всегда однозначно и в 100% случаев.

если это не так: проблема на принимающей стороне.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@o5a
Лелуш Ламперуш,
И дальнейших непотребствах с полученными данными

Так может причинах в этих ваших непотребствах, а не том, что сортировка не работает. Вы производите эти манипуляции с данными, которые сортировку и сбивают? Сама по себе ORDER BY не будет сбоить, по крайней мере в таком виде, как привели в вопросе.

И есть ли какой-то аналог со стороны python , чтобы сортировку производил он по базе , а не сама база , т.к. как сказано выше , она даёт сбои.

Есть
Ответ написан
@rPman
Перепроверь, что тип поля действительно числовой а не к примеру varchar (хотя если там числа то это не должно что то менять)
Перепроверь что база данных не повреждена, может просто пересоздать индекс?
Ответ написан
Комментировать
SagePtr
@SagePtr
Еда - это святое
Может быть, браузер берёт из кэша первоначальный вариант страницы, которую сохранил до того, как туда была добавлена сортировка
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы