人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

MySQL3.2で、次のSQLを実行すると、氏名よみがなのあいうえお順にならず、とても変な順番になります。
これはどういうわけでしょうか。また、ふつうのよみがな(五十音順)にするためにはどうしたらいいのでしょうか。
もちろん、last_name_kana, first_name_kanaの両欄にはちゃんとよみがなが入力されています。

SELECT emp_cd,CONCAT(last_name_j,first_name_j) AS name FROM employee ORDER BY last_name_kana, first_name_kana;

結果見本(手でかな欄を加えています)
emp_cd name かな
------------------------
n*** 難羽○○ なんば
a*** 中山○○ なかやま
n*** 横山○○ よこやま
c*** 原山○○ はらやま
i*** 飯山○○ いいやま
7*** 上山○○ うえやま
o*** 岡山○○ おかやま
………
s*** 傍山○○ そばやま
t*** 田山○○ たやま
t*** 田内○○ たのうち
t*** 高山○○ たかやま
p*** 畠山○○ はたやま
m*** 前山○○ まえやま
-------------------------

●質問者: mouitchou
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:AS name SELECT SQL あいうえお
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● kn1967
●30ポイント

優先順位を逆にしてみてください。

ORDER BY last_name_kana, first_name_kana

名前、苗字の順にソート

ORDER BY first_name_kana, last_name_kana

苗字、名前の順にソート


URL必須って事なのでチュートリアルの並び替え

MySQL AB :: MySQL 4.1 リファレンスマニュアル :: 3.3.4.4 レコードのソート

◎質問者からの返答

やってみましたが、やはり外れでした。


2 ● Yota
●30ポイント

mysql>SHOW VARIABLES LIKE 'character_set' ;

でINSERTしてある文字エンコーディングとデータベースのエンコーディングがあっているか確認してください。

たとえばこの結果がlatin1ならば、2バイト文字をソートすることはできません。

その場合は設定ファイルに下のように書き加えて、もう一度確認してください。(Shift_JISの場合)

[mysqld]

default-character-set=sjis

http://dummy.com/

◎質問者からの返答

やはりソート不能ですか。MySQLの設定ファイルを触ることはできないレンタルサーバです。


3 ● b-wind
●20ポイント

mysql:7702

サーバーの設定をいじれない場合は対応できないので、

ソート用のカラムを別途用意するしかないかと。

◎質問者からの返答

どうやら残念ながらそのようですね。有り難うございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ