SELECT events.title從事件ORDER BY events.title DESCMysql的排序順序很奇怪
我得到了所有的正確排序,但在我的表的末尾一對夫婦的事件。
在標題表中的編碼是utf8_general_ci。我已經嘗試重新輸入標題,希望它使用了一些我看不到的奇怪的俄羅斯字符,但它仍然以錯誤的順序出現。
建議?
感謝
SELECT events.title從事件ORDER BY events.title DESCMysql的排序順序很奇怪
我得到了所有的正確排序,但在我的表的末尾一對夫婦的事件。
在標題表中的編碼是utf8_general_ci。我已經嘗試重新輸入標題,希望它使用了一些我看不到的奇怪的俄羅斯字符,但它仍然以錯誤的順序出現。
建議?
感謝
只是胡亂猜測,但也許你的一些標題有開頭有一些空間。
[編輯]
如果這是你的問題,你可以使用
Order By TRIM(events.title) DESC
但是,將您的查詢放慢因爲MySQL將不能夠,如果你要使用索引的標題一。
好的建議!這可能是有幫助的運行查詢如SELECT CONCAT(「[」,events.title,「]」)FROM事件,以查看是否有前導或尾隨空格。 – 2009-05-20 18:29:10
能否請您運行
SELECT HEX(CAST(title AS BINARY))
FROM events
WHERE id = @weird_record
並張貼在這裏的輸出?
更新:
看來這個記錄是平原ASCII
,怪異的人物沒有前導空格,並說Walters Brothers Rebellion
能否請您爲recors這是亂序做?
請挑選一些記錄將要來的前Walter Brothers
但說到後,反之亦然,並張貼同樣的查詢結果。
除非你告訴我們,錯誤的順序,有沒有什麼我們可以告訴你一個例子。 – 2009-05-20 17:41:10
查看錶格的DDL也很有幫助。運行「SHOW CREATE TABLE events」併發布輸出。 – 2009-05-20 17:56:29