• 締切済み

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

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

みんなの回答

noname#22222
noname#22222
回答No.5

考え方のみですが・・・。 SELECT 都道府県.都道府県, Abs(([C]=4)+([C]=8)*2+([C]=3)*3+([C]=7)*4+([C]=1)*5) AS 並び順 FROM 都道府県 ORDER BY Abs(([C]=4)+([C]=8)*2+([C]=3)*3+([C]=7)*4+([C]=1)*5);

taaaaaaa
質問者

お礼

PHPでループ処理させて行うしかないかなと思ったのですが、MySQLユーザー会のページにヒントがありました。 で、 SELECT field(ifnull(ken,0),'北海道','東京','名古屋','大阪','沖縄') map,ken,count(*) FROM table GROUP BY city_c ORDER BY map で出来ました。 filed、ifnull関数は使ったことはなかったのですが、なかなか優れものでしょうか。 みなさんご協力ありがとうございました。

すると、全ての回答が全文表示されます。
  • yama06
  • ベストアンサー率61% (101/164)
回答No.4

県庁所在地の緯度の列か表を設けて、それでソートするというのも 一つの方法です。 想定してらっしゃる順番とは違う順になる可能性が高いような気がしますが。

すると、全ての回答が全文表示されます。
  • gori8063
  • ベストアンサー率36% (116/319)
回答No.3

JIS X 0401で指定した都道府県コードというのがあります。 http://ja.wikipedia.org/wiki/%E5%85%A8%E5%9B%BD%E5%9C%B0%E6%96%B9%E5%85%AC%E5%85%B1%E5%9B%A3%E4%BD%93%E3%82%B3%E3%83%BC%E3%83%89 これを使うのが一般的で汎用的です。

すると、全ての回答が全文表示されます。
回答No.2

都道府県とは別に管理コードのような物はありますか? 普通はそのようなコードを使って管理しますが・・・ 北からソートしたいのならば北海道を'01'なんかにして沖縄まで数を増やしながらコードを設定していきます。 どの都道府県から南北を認識出来るようなDBやコマンドは存在しません。

すると、全ての回答が全文表示されます。
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

普通は県を順番にかいたIDで管理しますね。 それと名古屋は都道府県ではないです。

すると、全ての回答が全文表示されます。

関連するQ&A