MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLで列の最大値を取得する方法|ORDER BY句とMAX()関数の使い方

MySQLである列の最大値を取得したい場合は、ORDER BY句を使う方法と、集計関数MAX()を使う方法の2つがあります。それぞれの使い方をサンプルコードとともに見ていきましょう。

方法1:ORDER BY句を使う

降順(DESC)で並べ替えたうえで、先頭の1件だけを取得する方法です。構文は以下の通りです。

select yourColumnName from yourTableName order by yourColumnName desc limit 0,1;

まず、動作確認用のテーブルを作成します。

mysql> create table DemoTable
    (
    Number int
    );
Query OK, 0 rows affected (0.52 sec)

次に、INSERTコマンドでレコードを挿入していきます。

mysql> insert into DemoTable values(790);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values(746);
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable values(480);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values(880);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values(879);
Query OK, 1 row affected (0.20 sec)

SELECT文でテーブル内のすべてのレコードを確認してみましょう。

mysql> select * from DemoTable;

実行すると、以下のような結果が表示されます。

+--------+
| Number |
+--------+
| 790    |
| 746    |
| 480    |
| 880    |
| 879    |
+--------+
5 rows in set (0.00 sec)

それでは、ORDER BY句を使ってNumber列の最大値を取得してみます。

mysql> select Number from DemoTable order by Number desc limit 0,1;

結果は以下の通りです。最大値「880」が1件だけ返されました。

+--------+
| Number |
+--------+
| 880    |
+--------+
1 row in set (0.00 sec)

方法2:集計関数MAX()を使う

よりシンプルなのが、集計関数MAX()を使う方法です。列名をMAX()で囲むだけで最大値を求められます。

mysql> select MAX(Number) from DemoTable;

実行結果は以下の通りです。

+-------------+
| MAX(Number) |
+-------------+
| 880         |
+-------------+
1 row in set (0.00 sec)

まとめ

列の最大値を取得するだけなら、記述がシンプルなMAX()関数がおすすめです。一方、ORDER BY + LIMITの組み合わせは、「最大値を持つ行全体」や「上位N件」を取得したい場合に便利なので、目的に応じて使い分けるとよいでしょう。

  1. MySQLで列の最大値を取得する方法をわかりやすく解説

    MySQLで特定の列の最大値を取得するには、MAX(columnName)関数を使用します。本記事では、その基本的な使い方に加えて、データベースやテーブルの設計に関する前提知識もあわせて解説します。MySQLのデータベースとテーブルの基礎MySQLをインストールする前に、まず使用するバージョンと配布形式(バイナリファイルか、ソースファイルからビルドするか)を決定することが重要です。新しく作成したばかりのデータベースには、当然ながらテーブルはまだ存在しません。データベース設計において最も重要なのは、以下の要素を決めることです。データベース全体の構造必要となるテーブルの一覧各テーブルに含まれる列(

  2. MySQLで列から最大値を取得する方法

    MySQLで列の最大値を取得するには?MySQLのテーブルから特定の列の最大値を取得するには、ORDER BY句とLIMIT句を組み合わせる方法が便利です。ここでは、実際にテーブルを作成し、データを挿入して、最大値を取得する手順を順番に解説します。1. テーブルを作成するまず、以下のコマンドでサンプル用のテーブルを作成します。mysql> create table DemoTable -> ( -> Value int -> ); Query OK, 0 rows affected (0.63 sec)2. レコードを挿入する次に、INSERTコ