Сортировка Mysql очень странно - PullRequest
0 голосов
/ 20 мая 2009
SELECT events.title 
FROM events 
ORDER BY events.title DESC

Я получаю правильный порядок для всех, кроме пары событий, в конце моего стола.

Кодировка в титульной таблице utf8_general_ci. Я попытался перепечатать заголовок, надеясь, что в нем использовались какие-то странные русские символы, которые я не мог видеть, но он все равно отображается в неправильном порядке.

Ответы [ 2 ]

2 голосов
/ 20 мая 2009

Просто дикая догадка, но, возможно, в некоторых ваших заголовках в начале есть пробелы.

Если это ваша проблема, вы можете использовать

Order By TRIM(events.title) DESC 

Но это замедлит ваш запрос, потому что MySQL не сможет использовать индекс заголовка, если он у вас есть.

0 голосов
/ 20 мая 2009

Не могли бы вы запустить

SELECT HEX(CAST(title AS BINARY))
FROM   events
WHERE  id = @weird_record

и выложить вывод здесь?

Обновление:

Кажется, что запись простая ASCII, без начальных пробелов странных символов и написано Walters Brothers Rebellion

Не могли бы вы сделать то же самое для записей, которые вышли из строя?

Пожалуйста, выберите запись, которая должна стоять перед Walter Brothers, но идет после, и наоборот, и опубликуйте результаты того же запроса.

...