• 締切済み

MYSQLのソート方法

MYSQLのデータベースより50音順、続いてアルファベット順でテーブル内の内容を全て表示したいのですが そのやり方がわからないのです。「ORDER BY」は数値に対して行うようですのでこれではできないと思っています。 何か良い方法はないものでしょうか。よろしくお願いします。

noname#4663
noname#4663

みんなの回答

  • stork
  • ベストアンサー率34% (97/285)
回答No.1

order byは文字列にも使えますよ。

noname#4663
質問者

お礼

ありがとうごさいます。そうなんですか!持っている本は詳しく書いてなくって勘違いしてました。

関連するQ&A

  • MySQLで複数データベースの検索/ソートについて

    お世話になっております。 PHP4.4.1+MySQL4.1.15を使用しております。 複数のデータベースに含まれる複数のテーブルをひとつの大きなテーブルとして検索/ソートする方法はありませんでしょうか? 結合ではなく、全レコードを全て単体として検索/ソートをかけたいのです。 それぞれのデータベースに含まれるテーブルに、共通の項目があり、その共通の項目順にソートしたり、絞込をかけたりしたいのですが、調べてみても、どうしても結合(JOIN)に行き着いてしまいます。 JOINによる結合だと、共通の項目以外のレコードが表示されないので、これでは意味をなしません。 ご教授の程、お願い致します。

    • ベストアンサー
    • MySQL
  • MySQLのソートについて

    こんにちわ。 今PHPとMySQLでデータベースの練習をしています。日本語をソートすると変な順番にソートされてしまいます。 SELECT * FROM NAME_T ORDER BY NAME_KANA_C NAME_KANA_Cには名前が全角カナで入力されてます。 これでソートしますと、 テ*** ハ*** ヒ*** フ*** ときて、なぜか シ*** となります。これは何故なんでしょうか? よろしくお願いします。 文字コードはEUCです。

  • MySQLのレコードを逆向きに並べる方法は?

    MySQLのレコードを逆向きに並べる方法は? MySQLを使って、掲示板を作ろうとしているのですが、 “db1”というデータベースに、“tbk”というテーブルを作り、 “bangou”というフィールドで、AUTO_INCREMENTで番号をふり、 下記のように、番号順にレコードをプリントしているのですが、 <?php $s=mysql_connect("localhost","root","パスワード"); mysql_select_db("db1"); $re=mysql_query("select * from tbk order by bangou"); while($kekka=mysql_fetch_array($re)){ print "<hr />"; print $kekka[0]; print "<br />"; print $kekka[1]; print "<br />"; print $kekka[2]; print "<br />"; print $kekka[3]; print "<br />"; } mysql_close($s); ?> このように、番号の若い順にレコードをプリントするのではなく、 番号(“bangou”)の古い順にレコードをプリントするようにするには、 どうすれば良いでしょうか?

  • PHP+MySQLでのソートについて

    PHP+MySQLを勉強中です。 例えば、商品テーブルに商品ID、商品名、価格、在庫数の4つのフィールドがあって、その表の各名称をクリックするとソート(例:オークションなどで現在価格をクリックするとソートなど[select * from 商品 order by 価格 asc])できるスクリプトをどのように作成すればよいか教えて下さい。

    • ベストアンサー
    • PHP
  • mysqlの操作について

    データを名前を検索し、さらに値段の昇降順に 並べたいのですがどのように入力すれば 表示されるのかわかりません! mysql> select * from shop order by price ASC; と mysql> select * from shop where name like '%java%';といった別々に検索はできるのですが 同時に検索したいのです。どばたかお願いします

    • ベストアンサー
    • MySQL
  • MySQLのORDER BYについて

    MySQLで、テーブルに書籍名リストが入っているとします。 このとき、列「書名」には、以下のような、書名の後に1から11までの連番がついたデータが順不同で入っています。 国語辞書 1 国語辞書 2 国語辞書 3 ・・・ 国語辞書 11 このテーブルに対して、「ORDER BY 書名 ASC」でSELECTをかけると、 「国語辞書 11」が一番最初に来て、その後1から順番に並びます。 これを自然な並び(11で始まるのではなく、1~11の順で整列)にするには、どうしたらよいでしょうか?

    • ベストアンサー
    • MySQL
  • mysqlのスマートな書き方

    MySQL5.1とPHP5を使っています。 phpからmysqlのtestテーブルにアクセスして点数順に生徒名一覧を作成したいと思っています。 イメージとしてはこのような感じです。○○○は名前になります。 90点以上 ○○○ ○○○ 80点以上 ○○○ ○○○ ○○○ 70点以上 ○○○ ○○○ ○○○ ○○○ このような一覧を表示するため、下記のように作成したところ上記のような表示をしてくれました。 しかしながら、同じmysql_queryを何度も使っていますし、DBに負担が掛かりそうな気がします(本当に負荷があるのかは分かりませんが・・・) もっとスマートな書き方はないものでしょうか。 よろしくお願い致します。 echo "90点以上"; $rs = mysql_query("select * from test where kamoku = '1' order by tensu desc LIMIT 0, 100;",$conn); while($res = mysql_fetch_array($rs, MYSQL_ASSOC)){ if ($res['tensu'] >= 90){ echo $res['name']; echo "<br>" ; } } echo "80点以上~90点未満"; $rs = mysql_query("select * from test where kamoku = '1' order by tensu desc LIMIT 0, 100;",$conn); while($res = mysql_fetch_array($rs, MYSQL_ASSOC)){ if($res['tensu'] >= 80 and $res['tensu'] < 90 ){ echo $res['name']; echo "<br>" ; } } echo "70点以上~80点未満"; $rs = mysql_query("select * from test where kamoku = '1' order by tensu desc LIMIT 0, 100;",$conn); while($res = mysql_fetch_array($rs, MYSQL_ASSOC)){ if($res['tensu'] >= 70 and $res['tensu'] < 80 ){ echo $res['name']; echo "<br>" ; } }

    • ベストアンサー
    • MySQL
  • ExcelからMySQL

    ExcelからMySQLへ接続する方法を調べたのですがよくわかりません。 やりたいことは、Excelにつくったボタンを押すと、セルに「test」データベースの「test_tbl」テーブルの内容が吐き出されるということをやりたいです。 接続に関することを一から教えてください。 よろしくおねがいします。

  • MYSQL テーブルデータエクスポート→インポート

    mysqlのテーブル単位でのバックアップ/インポートの方法を 教えてください。 mysqlのデータベース  abc テーブル名 dfg 試しに下記内容をやってみたいですが、コマンドラインからの 方法を詳しい方ご教授頂けませんでしょうか? abc データベース中のdfgのテーブルのデータを abcのコピーDBのabc2というデータベース中のdfgへインポート更新 させたいのですが、DB単位でのバックアップはわかるのですが、 テーブル単位でのコマンドラインがわかりません。 どなたかわかられる方ご教授頂けませんでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • MySQL
  • グループ化したあとソートしたい

    MySQL4.1(Windows)での質問です。 以下のようなテーブルのA列をグループ化して、そのcount(A)の値でソートしたいのですが、エラーになってしまい、実行できません。どうすれば良いでしょうか? テーブル A|B ----- 0|aaa 1|bbb 2|ccc 1|ddd 1|eee 0|fff クエリ select A,count(A) from table group by A order by count(A) 表示させたいデータ A|count(A) ---------- 1|3 0|2 2|1

    • ベストアンサー
    • MySQL