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

MariaDBのMAX()関数

    MariaDBでは、MAX() は、指定された式の最大値を返す集計関数です。

    構文

    構文は次のようになります:

    MAX([DISTINCT] expr)

    サンプルデータ

    次のデータを含むテーブルがあるとします。

    SELECT
        VendorId,
        ProductName,
        ProductPrice
    FROM 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                   |        33.49 |
    |     1003 | Chainsaw                        |       245.00 |
    |     1003 | Straw Dog Box                   |        55.99 |
    |     1004 | Bottomless Coffee Mugs (4 Pack) |         9.99 |
    +----------+---------------------------------+--------------+

    次のクエリを使用して、そのテーブルから最大価格を取得できます。

    SELECT MAX(ProductPrice)
    FROM Products;

    結果:

    245.00

    この場合、価格情報はProductPriceに保存されます 列なので、それを引数としてMAX()に渡します。 関数は、結果を計算して返します。

    フィルタリングされた結果

    MAX() 関数は、クエリによって返された行を操作します。したがって、結果をフィルタリングすると、MAX()の結果になります。 それを反映します。

    SELECT MAX(ProductPrice)
    FROM Products
    WHERE VendorId = 1001;

    結果:

    25.99

    この場合、25.99は、指定されたベンダーが提供するすべての製品の最高価格です。

    日付/時刻データ

    MAX()を使用できます 日付/時刻の値。

    次の表があるとします。

    SELECT PetName, DOB 
    FROM Pets;

    結果:

    +---------+------------+
    | PetName | DOB        |
    +---------+------------+
    | Fluffy  | 2020-11-20 |
    | Fetch   | 2019-08-16 |
    | Scratch | 2018-10-01 |
    | Wag     | 2020-03-15 |
    | Tweet   | 2020-11-28 |
    | Fluffy  | 2020-09-17 |
    | Bark    | NULL       |
    | Meow    | NULL       |
    +---------+------------+

    MAX()を使用できます 最大生年月日を見つけるには(DOB

    SELECT MAX(DOB)
    FROM Pets;

    結果:

    2020-11-28

    これは最年少のペットの生年月日です。

    NULL

    MAX() 関数はNULLを無視します 値。上記のサンプルテーブルでは、最後の2行にNULLがあります。 DOBの値 列ですが、MAX()では無視されました 例。

    キャラクターデータ

    文字データ列で使用する場合、MAX() 照合シーケンスで最も高い値を見つけます。

    例:

    SELECT MAX(ProductName)
    FROM Products;

    結果:

    Straw Dog Box

    DISTINCT キーワード

    DISTINCT キーワードはMAX()で使用できます ただし、これはDISTINCTを省略した場合と同じ結果になります。 。 DISTINCTを許可する この関数により、MariaDBはISOSQL標準に準拠できます。

    したがって、これを行うことができます:

    SELECT MAX(DISTINCT ProductPrice)
    FROM Products;

    結果:

    245.00

    ただし、結果には影響しません。

    DISTINCT キーワードは、他のコンテキスト(COUNT()など)で使用すると非常に便利です。 関数)ですが、MAX()と一緒に使用しても意味がありません 。 DISTINCT キーワードは重複を削除しますが、MAX()の場合 MAX()なので、違いはありません。 同じ最大値を共有する行の数に関係なく、同じ結果を返します。

    ウィンドウ関数

    MAX() 関数はOVERと組み合わせて使用​​できます ウィンドウ関数を作成する句。

    SQL MAX()を参照してください 例として初心者向け。


    1. SQLServerでDMLトリガーを作成する

    2. 文字列を16進数に、またはその逆に変換するにはどうすればよいですか?

    3. PostgreSQL作成関数

    4. MySQLでJoinを使用して削除