sql >> データベース >  >> RDS >> PostgreSQL

PostgreSQLのMAX()関数

    PostgreSQLでは、MAX() 関数は、null以外の入力値の最大値を計算し、結果を返します。

    この関数は、任意の数値、文字列、日付/時刻、列挙型、およびinetで使用できます。 、intervalmoneyoidpg_lsntid 、およびこれらのタイプの配列。

    これがどのように機能するかを示す簡単な例です:

    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

    1. 照合の競合を解決できません

    2. SETSTATISTICSIOからの誤解を招くデータに注意してください

    3. NoSQL:スキーマのない生活

    4. MySQLでユーザーを作成する方法