PostgreSQLでは、MAX()
関数は、null以外の入力値の最大値を計算し、結果を返します。
この関数は、任意の数値、文字列、日付/時刻、列挙型、およびinet
で使用できます。 、interval
、money
、oid
、pg_lsn
、tid
、およびこれらのタイプの配列。
例
これがどのように機能するかを示す簡単な例です:
SELECT MAX(productprice)
FROM products;
結果:
245.00
この場合、productprice
products
の列です テーブル。
これをもう少し詳しく説明するために、表のスナップショットを次に示します。
+----------+---------------------------------+--------------+ | vendorid | productname | productprice | +----------+---------------------------------+--------------+ | 1001 | Left handed screwdriver | 25.99 | | 1001 | Right handed screwdriver | 25.99 | | 1001 | Long Weight (blue) | 14.75 | | 1001 | Long Weight (green) | 11.99 | | 1002 | Sledge Hammer | NULL | | 1003 | Chainsaw | 245.00 | | 1003 | Straw Dog Box | 55.99 | | 1004 | Bottomless Coffee Mugs (4 Pack) | 9.99 | +----------+---------------------------------+--------------+
productprice
が表示されます この例で最大値を取得した列。
私の実際のテーブルにはさらに多くの列が含まれていますが、これは列とテーブル内のコンテキストを示しています。
NULL
値
MAX()
関数はNULL
を無視します 値。上記のサンプルテーブルでは、スレッジハンマーにNULL
があります。 そのproductprice
列ですが、MAX()
では無視されました 例。
フィルタリングされた結果
MAX()
関数は、クエリによって返された行を操作します。したがって、結果をフィルタリングすると、MAX()
の結果になります。 それを反映します。
結果をフィルタリングしましょう:
SELECT MAX(productprice)
FROM products
WHERE vendorid = 1001;
結果:
25.99
日時の値
MAX()
関数は日時値で使用できます:
pets
というテーブルがあるとします。 次のデータを使用:
+-------+---------+------------+ | petid | petname | dob | +-------+---------+------------+ | 1 | Fluffy | 2020-11-20 | | 2 | Fetch | 2019-08-16 | | 3 | Scratch | 2018-10-01 | | 4 | Wag | 2020-03-15 | | 5 | Tweet | 2020-11-28 | | 6 | Fluffy | 2020-09-17 | | 7 | Bark | NULL | | 8 | Meow | NULL | +-------+---------+------------+
dob
から最大値を取得できます このような列:
SELECT MAX(dob)
FROM pets;
結果:
2020-11-28
キャラクターデータ
文字データ列で使用する場合、MAX()
照合シーケンスで最も高い値を見つけます。
例:
SELECT MAX(petname)
FROM pets;
結果:
Wag