2009-05-20 75 views
0

SELECT events.title從事件ORDER BY events.title DESCMysql的排序順序很奇怪

我得到了所有的正確排序,但在我的表的末尾一對夫婦的事件。

在標題表中的編碼是utf8_general_ci。我已經嘗試重新輸入標題,希望它使用了一些我看不到的奇怪的俄羅斯字符,但它仍然以錯誤的順序出現。

建議?

感謝

+4

除非你告訴我們,錯誤的順序,有沒有什麼我們可以告訴你一個例子。 – 2009-05-20 17:41:10

+0

查看錶格的DDL也很有幫助。運行「SHOW CREATE TABLE events」併發布輸出。 – 2009-05-20 17:56:29

回答

2

只是胡亂猜測,但也許你的一些標題有開頭有一些空間。

[編輯]

如果這是你的問題,你可以使用

Order By TRIM(events.title) DESC 

但是,將您的查詢放慢因爲MySQL將不能夠,如果你要使用索引的標題一。

+0

好的建議!這可能是有幫助的運行查詢如SELECT CONCAT(「[」,events.title,「]」)FROM事件,以查看是否有前導或尾隨空格。 – 2009-05-20 18:29:10

0

能否請您運行

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

並張貼在這裏的輸出?

更新:

看來這個記錄是平原ASCII,怪異的人物沒有前導空格,並說Walters Brothers Rebellion

能否請您爲recors這是亂序做?

請挑選一些記錄將要來的前Walter Brothers但說到後,反之亦然,並張貼同樣的查詢結果。