MySQL ENUM ORDER BY
Редко использую ENUM поля в MySQL, но понадобилось мне сделать сортировку по этому полю. А как же сортируются такие поля по ORDER BY? Все просто, поля сортируются в порядке их добавления в БД.
Т.е. если есть список значений field
= A, Z, D, E
То ORDER BY field
даст список A, Z, D, E
А ORDER BY field
DESC даст список E, D, Z, A
Сортировки по алфавиту не будет! Потому что сортировка идет по индексу ENUM.
Отсортировать по алфавиту, можно так: ORDER BY CAST(field
AS CHAR)
Как указать свой порядок значений, что-то вроде:
ORDER BY field
WITH_SORT_ORDER "New York", "Copenhagen", "London"
я, пока что, не нашел
Author: | Tags: /
| Rating:
4 comments.
Write a comment