• ベストアンサー

MySQLで都道府県順にソート

宜しくお願いします。 顧客データ等で、検索した結果を都道府県でソートしたいのですが、自動で都道府県順にソートしてくれる様な便利な関数なんてありませんか? 47都道府県なので、それぞれに番号をふっていけばいいのですが、かなりの件数がある為に大変な事になりそうなので、あれば教えて下さい。宜しくお願いしますm(__)m

  • nikuq
  • お礼率75% (477/631)
  • MySQL
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.2

まずは、都道府県順にデータの入ったものを用意します。 これは必須です。 仮に to というテーブルにします。 TABLE to | no | name | | 1 | 北海道 | | 2 | 青森  |  ・  ・ また、都道府県のみのデータが入ったフィールドがある顧客データがあるとします。 TABLE member | member  | add  | | メンバー1 | 北海道 | | メンバー2 | 青森  |  ・  ・ select member.* form member left join to on name = add order by no 日本語がHITするのは必須です。 都道府県が単一のフィールドではない場合、 name like 'add%' とかやればどうなんだろうか?(試したことがないのでできるかわかりませんが)

nikuq
質問者

お礼

ありがとうございます。 やっぱり、データベースかPHP上で都道府県と連動させる仕組みを入れないとダメなんですね。 PHPもMySQLも日本語に関しては専用の関数を用意してくれたりなど手厚い対応だったので、もしかしてこんな関数もあったりするかなーって思ったんですが、やっぱりないんですね(T_T) ご教授頂いた方法で作ってみます! ありがとうございましたーm(__)m

その他の回答 (1)

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 都道府県順というのがどういう順番なのでしょうか?

nikuq
質問者

補足

ありがとうございます。 北海道を1番として、青森2番、岩手3番、秋田4番・・・という具合に、北から順に沖縄まで47都道府県を並べたいのです。

関連するQ&A

  • 都道府県順、北からソートしたいのですが

    テーブルに下記データがあって、 SELECT ken,count(*) c from table group by ken order by c --------- 東京 8 大阪 7 北海度 4 名古屋 3 沖縄 1 これを 北から順にソート --------- 北海度 4 東京 8 名古屋 3 大阪 7 沖縄 1 と、いうふうに都道府県でソートするのにいい方法はありますか? 配列を使ったりしないと駄目でしょうか?

  • PHP+MySQL

    ORDER BY 句で件数の多い順に(仮:都道府県の登録件数)ソートをさせたいのですよく分かりません。count()とかも試しましたがダメでした。教えて下さい。

  • 検索結果内でのソート 及び ソート順に番号を振る方法

    よろしくお願いします。 下記のようなExcelシートがあります。 ID 検索番号 順番 データ 1 44 9252 いわし 2 8 9256 えりんぎ 3 37 9258 おちゃづけ 4 37 9258 おにぎり 5 3 9284 まつたけ 6 44 9253 うに 検索番号フィールドとデータフィールドの関係は、別のテーブルで保持している検索番号に対応するデータと親子関係のようになっています。順番フィールドには、同じ検索番号のデータ間で優先順位を決めるためのフィールドにしたいと考えています。 順番フィールドには、ExcelのCODE関数で文字コードを取得し順番を決めようとしたのですが、先頭文字のみのコード化ですので、2文字目以降が異なる場合上記ケースではうまくいきませんでした。 長々と書いてしまいましたが、教えていただきたい事は下記の通りです。 ・検索番号による結果に対し五十音順に数字をふる方法 よろしくお願いします。

  • Excelの棒グラフを多い順に並べたい!

    Excelの棒グラフを多い順に並べたい! Excelで項目別の件数表を作って、その表を棒グラフにしたのですが、 どうしても棒グラフを件数の多い順に並べることができません。 どのように設定したらいいのでしょうか? 元の表をソートすれば一時的にはできるのですが、 その場合、データ内容(件数)が変わった時に自動で多い順に並びません。 何かいい方法はないでしょうか?

  • ExcelかAccessで五十音順にソートしたい

    Office2007を使っています。ExcelかAccessで五十音順にソートしたいのですが、漢字も一緒にソートしたいと思っています。Excelで五十音でソートすると、最初にアルファベット、続いてカタカナ、続いて漢字というようにソートされます。アルファベットは別にして、カタカナ、漢字は一緒に五十音でソートしてもらいたいのですが、そのような方法はないでしょうか? 例えば アンドウ コンドウ 安藤 イトウ というデータがあれば アンドウ 安藤 イトウ コンドウ というようにデータがソートされてもらいたいです。 Excelの関数のphoneticはExcelからのデータじゃないので 使えません。なにとぞご教授お願いします。

  • 郵便番号から都道府県を自動判断する方法について

    EXCEL2003を使用しております。 郵便番号から都道府県を登録しているのですが データ件数が多く、効率的に登録できる方法を探しております。 そこでお伺いしたいのですが 特定のセルに郵便番号が登録されいれば 自動的に都道府県を別のセルに表示させる事ができる方法はないでしょうか。 上記の様に自動的に判断ができれば非常に助かります。 よろしくお願い申し上げます。

  • Javaプログラム内でソートすべきか悩んでいます。

    Javaプログラム内でソートすべきか悩んでいます。 開発環境は j2sdk1.4.2 eclipse3.2.0 Oracle10g(ドライバはThin接続) です。 処理の大まかな流れは以下の通りです。 1. 社員番号リスト(100,000件)を読み込む。(txtファイルで社員番号の順番はソートされていない) 2. 次の3で検索を行うために社員番号を1000件単位でリスト化する。 例:下記のような文字列を作成し、ArrayListに入れる   ('000077','0100002','0000503',~,'0080400') 以下の処理は2で作成したArrayListの件数繰り返す 3. データベース検索を行う。 社員番号を検索キーに検索を行う。(2で作成した文字列を 社員番号 in 「文字列」のような形で) 4. 検索結果(1レコードにつき20項目)をファイルへ出力する。(CSVファイルへ結果を追記していく) 4で結果を出力するのですが、ソート条件が決められています。 条件は「住所コードの昇順」、「社員番号の昇順」です。 住所コードはDB内のデータにあります。 3の検索結果をメモリに蓄積して全件取得を終えたらソートしようと思いましたが、 OutOfMemoryエラーが発生してしまいました。 ひとつ案を考え、2の処理を終えたあとにDBから住所コードと社員番号を取得して TreeMapに全件を蓄積(キーは「住所コード + 社員番号」、データは社員番号)し、 (このデータでOutOfMemoryエラーは発生しませんでした) 自動的にソートされた社員番号で再度2~4の処理を行うのですが すごく処理時間が増えてしまい効率が悪い気がします…。 処理時間の短縮、メモリ使用の抑制を考慮した良い案はないでしょうか?

    • ベストアンサー
    • Java
  • 配列のソートがしたい

    sort関数等調べたのですがうまくできません。 やりたいことは http://q.hatena.ne.jp/1155090363 ↑で見つけた事とそっくりなのですが・・・。 ------------------------------------------- arrItem[n] という配列の一つの要素の中に、 タブで区切られた10個程のデータが入っています。 arrItem[0] = "5 ^ 店名5 ^ 品名5 ^ 価格5 ^ 割引額5 ^・・・^ 備考5" arrItem[1] = "2 ^ 店名2 ^ 品名2 ^ 価格2 ^ 割引額2 ^・・・^ 備考2" arrItem[2] = "11 ^ 店名9 ^ 品名9 ^ 価格9 ^ 割引額9 ^・・・^ 備考9" 一列目はSEQ番号でユニークですが、順番が並んでいません。 この配列をSEQ番号で並べ替えたいのですが、 sortだと文字列比較のためか桁数の違う数字の並べ替えが 上手くできません。数値としてのソート方法 が分かる方いらっしゃいましたらご教授願います。 もし可能なら、1列目を数値降順にしたり昇順にしたり、 また2列目を五十音順にソートしたり、 また4列目を価格の安い順にソートしたり と応用も可能ならばご教授願いたいです。 宜しくお願い致します。

  • 複数キーによるソート

    ここに、3つperlの配列があって、それぞれ問題番号、英単語、日本語訳が入っています。 これらを、例えば「英単語順」「問題番号順」などに並べ替えて先頭から順に取り出したいのですが、sort関数は配列ひとつに対してしか操作できないので、悩んでいます。 たとえば問題番号←→英単語の配列間に単語ごとのリンクを張って、片方をソートしてもリンクをたどるともう片方が取り出せるといったことはできるのでしょうか? また、配列のソートのルールを使って別の配列をソートする・・・といったことでも構いません。よろしくお願い致します。

    • ベストアンサー
    • Perl
  • エクセルのソート順がおかしい

    エクセルのソート順がおかしい B4セルから縦方向に以下のデータを降順にオプションでコード順にソートする。 磐田 川崎 G大阪 C大阪 の順になる。 各要素間の値の比較する関数をVBAで作成して比較すると 川崎 < G大阪 となり、大小関係がおかしくなる。 上記以外の比較は下記のとおり正しい。 磐田 > 川崎 G大阪 > C大阪 各要素間の値の比較する関数は以下である。 Option Explicit Function compare(str1 As String, str2 As String) As String ' 大小関係を検査する If str1 > str2 Then compare = str1 & " greater than " & str2 ElseIf str1 = str2 Then compare = str1 & " Equal to " & str2 Else compare = str1 & " smaller than " & str2 End If End Function 実際のプログラムは「2分木探索」を使用しているので,大小関係が大切である。 これはどうすればソートがコード(ユニコード)順になるのか、教えて下さい。 なおエクセルは2000を使用している。