我一直在試圖找到一個解決這個問題,但還沒有任何運氣。我知道這裏有幾個類似的問題,但它們都不是真正適用的更復雜的場景。好吧,這個問題:MySQL的ORDER BY結果不是拼音
我有一個交易收款人及其相關類的列表非常簡單的表。該結構是id - int
,name- varchar
和cat - varchar
我試圖做一個簡單的查詢以字母順序呈現的收款人名稱,使用while
環加入到一個選擇框。無論我是否使用ASC或DESC,它們都以不明顯的順序顯示。條目的開頭或結尾沒有空白。
這是查詢條件 - SELECT name FROM payees ORDER BY name
當嘗試按照字母順序在phpMyAdmin中對它們進行排序時,我得到了相同的結果。 id
是一個自動增量int字段和主鍵。
謝謝!
UPDATE
下面是示例輸出 - SELECT name FROM payees ORDER BY name ASC
- Sheetz
- 沃爾格林
- 阿拜的
- 美元基本
- 埃克森
- 周的iTunes
- 紅盒
- 星巴克
- 沃爾瑪
整理是utf8_unicode_ci
解決
榮譽給@JohnFlatness解決了這個難題。這實際上是代碼中的一個缺陷 - 這個項目有一個移動版和普通版。移動版本的腳本中存在一個錯誤,它在name
列條目的開頭添加了一個空格。我點檢的參賽作品很好,錯過了那些有空白的地方。
感謝您的幫助 - 通過的意見,第一個解決了我笑
中文O w製備結束美。 –
輸出數據的樣本是什麼樣的?您的查詢看起來很好,因此請檢查數據中的實際內容。桌子上的字符集/排序規則是什麼?這可能影響排序,例如你在AZ的條目區分大小寫排序之前來AZ –
這不是查詢 - 這是顯示... – Randy