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

MySQLで複数の列から最小値を取得する方法【LEAST関数の使い方】

MySQLでは、LEAST()関数を使うことで、複数の列(カラム)の値の中から最小値を簡単に取得できます。この記事では、実際にテーブルを作成し、データを挿入したうえで、LEAST関数の具体的な使い方を確認していきます。

サンプルテーブルの作成

まず、テーブルを作成します。

mysql> create table DemoTable756 (
    Value1 int,
    Value2 int,
    Value3 int
);
Query OK, 0 rows affected (0.62 sec)

レコードの挿入

次に、INSERTコマンドを使ってテーブルにレコードを挿入します。

mysql> insert into DemoTable756 values(10,20,14);
Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable756 values(20,34,17);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable756 values(200,134,789);
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable756 values(139,98,99);
Query OK, 1 row affected (0.17 sec)

テーブルの内容を確認する

SELECT文を使って、テーブル内のすべてのレコードを表示します。

mysql> select *from DemoTable756;

実行すると、次のような出力が得られます。

+--------+--------+--------+
| Value1 | Value2 | Value3 |
+--------+--------+--------+
|     10 |     20 |     14 |
|     20 |     34 |     17 |
|    200 |    134 |    789 |
|    139 |     98 |     99 |
+--------+--------+--------+
4 rows in set (0.00 sec)

LEAST関数で最小値を取得する

複数の列から最小値を取得するには、LEAST()関数を使用します。以下がそのクエリです。

mysql> select least(Value1,Value2,Value3) from DemoTable756;

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

+-----------------------------+
| least(Value1,Value2,Value3) |
+-----------------------------+
|                          10 |
|                          17 |
|                         134 |
|                          98 |
+-----------------------------+
4 rows in set (0.00 sec)

結果の解説

LEAST()関数は、引数として渡された複数の値を比較し、その中で最も小さい値を返します。上記の例では、各行ごとにValue1・Value2・Value3の3つの列の値が比較されています。

  • 1行目:10、20、14 の中で最小は 10
  • 2行目:20、34、17 の中で最小は 17
  • 3行目:200、134、789 の中で最小は 134
  • 4行目:139、98、99 の中で最小は 98

なお、逆に最大値を取得したい場合はGREATEST()関数を使用します。また、引数のいずれかにNULLが含まれている場合、LEAST関数はNULLを返すという仕様がある点にも注意してください。

  1. JavaでMySQLデータベースのテーブルから最後のレコードを取得する方法

    MySQLデータベースからデータを取得するには、JavaのexecuteQuery()メソッドを使用します。本記事では、テーブルに登録された最後のレコード(最新の1件)をJavaプログラムで取得する手順を、サンプルコード付きでわかりやすく解説します。1. MySQLデータベースにテーブルを作成するまず、MySQLデータベース上にテーブルを用意します。ここでは「sample」データベースに、以下のようなテーブルを作成します。mysql> create table javaGetDataDemo -> ( -> Id int NOT NULL AUTO_INCREMENT PRI

  2. MySQLで重複するIDごとに最小値を取得する方法|MIN関数とGROUP BYの実例解説

    MySQLでは、重複するIDが存在するテーブルから各IDに対応する列の最小値を取得したいケースがよくあります。例えば、同じ商品IDに対して複数の価格(float型)が登録されている場合などです。そんなときは、GROUP BY句とMIN()関数を組み合わせることで簡単に実現できます。基本構文重複IDごとの最小値を取得するには、以下のような構文を使用します。select min(対象カラム名) from テーブル名 group by グループ化するカラム名;サンプルテーブルの作成実際に動作を確認するため、まずはテーブルを作成しましょう。mysql> create table DemoTabl