mysql根據漢字首字母排序的方法
阿新 • • 發佈:2019-01-29
實現mysql中根據漢字首字母排序的sql語句:
select areaname from area order by convert(areaname using gbk) collate gbk_chinese_ci asc
說明:
areaname為列名
area為表名
mysql 中文欄位排序( 按拼音首字母排序) 的查詢語句
1,如果資料表tbl的某欄位name的字元編碼是latin1_swedish_ci
select * from `tbl` order by birary(name) asc ;
2,如果資料表tbl的某欄位name的字元編碼是utf8_general_ci
select name from `tbl` where 1 order by convert( name using gbk ) collate gbk_chinese_ci asc
$orderby="convert(`group` using gbk) collate gbk_chinese_ci,displayorder,navid"
php和mysql採用utf-8編碼時實現按照文字欄位的首字母的拼音順序進行排序
最近做了個投票系統,要把那些候選人按照首字母排序
如果是gbk編碼的,可以直接對欄位進行order by ,但是純utf-8環境下不行。
gbk編碼:
select * from candi date where del_flag=$state order by name
utf-8編碼:
select * from candidate where del_flag=$state order by convert(candidate_name using gbk)
另外的方法:字典類方法,也是提高效率的方法,為了達到更快更效率的查詢,需要另外再建立一個索引列,並在索引列中插入標籤字第一個字母或者是拼音。
定義拼音字典,封裝類