HOWTO · MySQL

MySQL 最大 2つの値

このチュートリアルでは、MySQL を使用して最大 2つの値を取得する方法を示します。

このページの内容

このチュートリアルでは、MySQL を使用して最大 2つの値を取得する方法を示します。

MySQL 最大 2つの値

MySQL は、2つの値から最大値を選択するためだけに組み込みメソッド greatest() を提供します。 このメソッドの構文は次のとおりです。

SELECT greatest(FirstValue, SecondValue);

FirstValueSecondValue は、最大値が選択される値です。 例を試してみましょう。

Select greatest(500, 800);

このコードは、常に単純な 1 行のコードです。 出力を見てみましょう。

+--------------------+
| greatest(500, 800) |
+--------------------+
| 800                |
+--------------------+
1 row in set (0.00 sec)

ご覧のとおり、指定された値から最大数が選択されました。 しかし、値が文字列の場合は、例を試してみましょう。

Select greatest('Delftstack', 'delftstack');

上記のコードは、指定された 2つの文字列から最大値を選択します。 出力を参照してください。

+--------------------------------------+
| greatest("Delftstack", "delftstack") |
+--------------------------------------+
| delftstack                           |
+--------------------------------------+
1 row in set (0.00 sec)

ご覧のとおり、両方の値は似ていますが、唯一の違いは、最初の値の最初の文字が大文字になっていることです。 greatest() メソッドは、ASCII 値に基づいて文字列の最大値を計算します。 その場合、delftstackDelftstack より大きくなります。

それらを確認しましょう:

Select ascii("Delftstack")

出力:

+---------------------+
| ascii("Delftstack") |
+---------------------+
| 68                  |
+---------------------+
1 row in set (0.00 sec)

delftstack の場合:

Select ascii('delftstack')

出力:

+---------------------+
| ascii("delftstack") |
+---------------------+
| 100                 |
+---------------------+
1 row in set (0.00 sec)

ご覧のとおり、delftstack の ASCII 値は Delftstack より大きくなっています。 これが、greatest メソッドが delftstack を最大値として選択する理由です。