MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

Funkcja MAX() w MariaDB

W MariaDB, MAX() to funkcja agregująca, która zwraca maksymalną wartość w danym wyrażeniu.

Składnia

Składnia wygląda tak:

MAX([DISTINCT] expr)

Przykładowe dane

Załóżmy, że mamy tabelę z następującymi danymi:

SELECT
    VendorId,
    ProductName,
    ProductPrice
FROM Products;

Wynik:

+----------+---------------------------------+--------------+
| 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 |
+----------+---------------------------------+--------------+

Przykład

Możemy użyć następującego zapytania, aby uzyskać maksymalną cenę z tej tabeli.

SELECT MAX(ProductPrice)
FROM Products;

Wynik:

245.00

W takim przypadku informacje o cenie są przechowywane w ProductPrice kolumna, więc przekazujemy to jako argument do MAX() funkcja, która następnie oblicza i zwraca wynik.

Przefiltrowane wyniki

MAX() funkcja działa na wierszach zwróconych przez zapytanie. Więc jeśli filtrujesz wyniki, wynik MAX() odzwierciedli to.

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

Wynik:

25.99

W tym przypadku 25,99 to maksymalna cena spośród wszystkich produktów oferowanych przez określonego dostawcę.

Dane daty/godziny

Możesz użyć MAX() o wartościach daty/czasu.

Załóżmy, że mamy następującą tabelę:

SELECT PetName, DOB 
FROM Pets;

Wynik:

+---------+------------+
| 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       |
+---------+------------+

Możemy użyć MAX() aby znaleźć maksymalną datę urodzenia (DOB ).

SELECT MAX(DOB)
FROM Pets;

Wynik:

2020-11-28

Byłaby to data urodzenia najmłodszego zwierzaka.

NULL Wartości

MAX() funkcja ignoruje każdy NULL wartości. W naszej przykładowej tabeli powyżej ostatnie dwa wiersze mają wartość NULL wartości w ich DOB kolumna, ale zostało to zignorowane w naszej MAX() przykład.

Dane postaci

W przypadku użycia z kolumnami danych znakowych MAX() znajduje najwyższą wartość w kolejności zestawiania.

Przykład:

SELECT MAX(ProductName)
FROM Products;

Wynik:

Straw Dog Box

DISTINCT Słowo kluczowe

DISTINCT słowo kluczowe może być używane z MAX() funkcja, jednak daje ten sam wynik, co pominięcie DISTINCT . Zezwalanie na DISTINCT funkcja umożliwia MariaDB zgodność ze standardem ISO SQL.

Dlatego możemy to zrobić:

SELECT MAX(DISTINCT ProductPrice)
FROM Products;

Wynik:

245.00

Ale nie ma to wpływu na wyniki.

DISTINCT słowo kluczowe może być bardzo przydatne w innych kontekstach (np. z COUNT() funkcja), ale nie ma znaczenia, gdy jest używany z MAX() . DISTINCT słowo kluczowe usuwa duplikaty, ale w przypadku MAX() nie zrobi to żadnej różnicy, ponieważ MAX() zwraca ten sam wynik, niezależnie od tego, ile wierszy ma tę samą maksymalną wartość.

Funkcje okien

MAX() funkcja może być używana w połączeniu z OVER klauzula, aby utworzyć funkcję okna.

Zobacz SQL MAX() Przykład dla początkujących.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Funkcja MAX() w MariaDB

  2. Historie transformacji na konferencji MariaDB OpenWorks

  3. Obsługa dużych ilości danych za pomocą MySQL i MariaDB

  4. Jak PERIOD_ADD() działa w MariaDB

  5. Jak WEEKOFYEAR() działa w MariaDB