SELECT events.title
FROM events
ORDER BY events.title DESC
除了桌子最后的几个事件外,我得到了正确的排序。
标题表上的编码是utf8_general_ci
. 我试过重新输入标题,希望它使用了一些我看不到的奇怪的俄语字符,但它仍然以错误的顺序出现。
SELECT events.title
FROM events
ORDER BY events.title DESC
除了桌子最后的几个事件外,我得到了正确的排序。
标题表上的编码是utf8_general_ci
. 我试过重新输入标题,希望它使用了一些我看不到的奇怪的俄语字符,但它仍然以错误的顺序出现。
只是一个疯狂的猜测,但也许你的一些标题在开头有一些空格。
如果这是您的问题,您可以使用
Order By TRIM(events.title) DESC
但这会减慢您的查询速度,因为如果您有,MySQL 将无法使用标题上的索引。
你能跑吗
SELECT HEX(CAST(title AS BINARY))
FROM events
WHERE id = @weird_record
并在这里发布输出?
更新:
似乎记录很简单ASCII
,没有奇怪字符的前导空格,并说Walters Brothers Rebellion
您能否对出现故障的记录做同样的事情?
请选择一些应该在之前Walter Brothers
但在之后的记录,反之亦然,然后发布相同查询的结果。