MySQLで値を降順・昇順に並べ替える方法|ORDER BYの基本
MySQLでカラムの値を高い順(降順)に並べ替えたい場合は、ORDER BY DESCを使用します。
select *from yourTableName order by yourColumnName DESC;
逆に、低い順(昇順)で並べ替えたい場合は、ORDER BY ASCを使用します。
select *from yourTableName order by yourColumnName ASC;
サンプルテーブルの作成
まず、動作確認用のテーブルを作成しましょう。
mysql> create table DemoTable
(
Value int
);
Query OK, 0 rows affected (0.56 sec)レコードの挿入
insertコマンドを使って、テーブルにレコードを挿入していきます。
mysql> insert into DemoTable values(134); Query OK, 1 row affected (0.20 sec) mysql> insert into DemoTable values(245); Query OK, 1 row affected (0.17 sec) mysql> insert into DemoTable values(451); Query OK, 1 row affected (0.17 sec) mysql> insert into DemoTable values(1090); Query OK, 1 row affected (0.20 sec) mysql> insert into DemoTable values(789); Query OK, 1 row affected (0.20 sec) mysql> insert into DemoTable values(434); Query OK, 1 row affected (0.22 sec)
レコードの表示
selectコマンドで、テーブル内のレコードを確認してみましょう。
mysql> select *from DemoTable;
実行すると、以下のような結果が出力されます。
+-------+ | Value | +-------+ | 134 | | 245 | | 451 | | 1090 | | 789 | | 434 | +-------+ 6 rows in set (0.00 sec)
ケース1:降順(高い順)に並べ替える
値が大きいものから小さいものへと並べ替えてみます。
mysql> select *from DemoTable order by Value DESC;
実行すると、以下のように最大値の1090から順に表示されます。
+-------+ | Value | +-------+ | 1090 | | 789 | | 451 | | 434 | | 245 | | 134 | +-------+ 6 rows in set (0.07 sec)
ケース2:昇順(低い順)に並べ替える
次に、値が小さいものから大きいものへと並べ替えてみます。
mysql> select *from DemoTable order by Value ASC;
実行すると、最小値の134から順に表示されます。
+-------+ | Value | +-------+ | 134 | | 245 | | 434 | | 451 | | 789 | | 1090 | +-------+ 6 rows in set (0.00 sec)
このように、MySQLではORDER BY句にDESC(降順)またはASC(昇順)を指定するだけで、簡単に任意の順序でデータを取得できます。なお、ASCは省略可能で、ORDER BYだけを指定した場合も昇順になります。
-
MySQLで他のカラムの値から新しいカラムの値を導出する方法
MySQLではユーザー定義変数(ユーザー変数)を活用することで、既存のカラムの値をもとに別のカラムの値を計算・導出できます。本記事では、累積和(累積合計)を求める具体例を通して、その方法をわかりやすく解説します。サンプルテーブルの作成まず、テーブルを作成します。mysql> create table DemoTable1868 ( Value int ); Query OK, 0 rows affected (0.00 sec)レコードの挿入insertコマンドを使って、テーブルにデータを挿入します。mysql> insert into DemoTable1
-
MySQLのVARCHAR型カラムから最大値を正しく取得する方法
VARCHAR型(文字列型)のカラムに対してそのまま MAX() 関数を使用すると、値は文字列として比較されるため、「8」「901」「10001」のような数値的な大小関係が正しく評価されません。そこで、CAST() を使って値を数値型に変換してから MAX() を適用することで、正確な最大値を取得できます。 1. サンプルテーブルを作成する まず、動作確認用のテーブルを作成しましょう。 mysql> create table DemoTable2030 -> ( -> Value varchar(20) -> ); Query OK, 0 row