forget for get

覚えるために忘れる

mysqlでカナでソートしたら濁音の並びがおかしかったので対策

mysqlでカナでソートしたら濁音の並びがおかしかった

 

普通に

ORDER BY kana

とやったら、

 

ハマカーン
ハライチ
バカリズム
バナナマン
パンクブーブー

 

となった。

 

本当は

 

バカリズム
バナナマン
ハマカーン
ハライチ
パンクブーブー

 

のように並んでほしい。

 

COLLATE 節を使うとよい。

ORDER BY kana COLLATE utf8_unicode_ci

 

laravelだとorderByRawを使って。

->orderByRaw("kana COLLATE utf8_unicode_ci")

 

これで意図した並びになった。

 

バカリズム
バナナマン
ハマカーン
ハライチ
パンクブーブー