HOWTO · MySQL
MySQL 最大 2つの値
このチュートリアルでは、MySQL を使用して最大 2つの値を取得する方法を示します。
このページの内容
このチュートリアルでは、MySQL を使用して最大 2つの値を取得する方法を示します。
MySQL 最大 2つの値
MySQL は、2つの値から最大値を選択するためだけに組み込みメソッド greatest() を提供します。 このメソッドの構文は次のとおりです。
SELECT greatest(FirstValue, SecondValue);
FirstValue と SecondValue は、最大値が選択される値です。 例を試してみましょう。
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 値に基づいて文字列の最大値を計算します。 その場合、delftstack は Delftstack より大きくなります。
それらを確認しましょう:
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 を最大値として選択する理由です。