MariaDB
 sql >> Datenbank >  >> RDS >> MariaDB

MIN()-Funktion in MariaDB

In MariaDB MIN() ist eine Aggregatfunktion, die den Mindestwert in einem bestimmten Ausdruck zurückgibt.

Syntax

Die Syntax lautet wie folgt:

MIN([DISTINCT] expr)

Beispieldaten

Angenommen, wir haben eine Tabelle mit den folgenden Daten:

SELECT
    VendorId,
    ProductName,
    ProductPrice
FROM Products;

Ergebnis:

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

Beispiel

Wir können die folgende Abfrage verwenden, um den Mindestpreis aus dieser Tabelle zu erhalten.

SELECT MIN(ProductPrice)
FROM Products;

Ergebnis:

9.99

In diesem Fall werden Preisinformationen im ProductPrice gespeichert Spalte, und wir übergeben das als Argument an MIN() Funktion, die dann das Ergebnis berechnet und zurückgibt.

Gefilterte Ergebnisse

Der MIN() Die Funktion arbeitet mit den von der Abfrage zurückgegebenen Zeilen. Wenn Sie also die Ergebnisse filtern, wird die Ausgabe von MIN() wird das widerspiegeln.

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

Ergebnis:

11.99

In diesem Fall ist 11,99 der Mindestpreis aller vom angegebenen Anbieter angebotenen Produkte.

Datums-/Uhrzeitdaten

Sie können MIN() verwenden auf Datums-/Uhrzeitwerten.

Angenommen, wir haben die folgende Tabelle:

SELECT PetName, DOB 
FROM Pets;

Ergebnis:

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

Wir können MIN() verwenden um das Mindestgeburtsdatum zu finden (DOB ).

SELECT MIN(DOB)
FROM Pets;

Ergebnis:

2018-10-01

Dies wäre das Geburtsdatum des ältesten Haustieres.

NULL Werte

Der MIN() Funktion ignoriert jeden NULL Werte. In unserer obigen Beispieltabelle enthalten die letzten beiden Zeilen NULL Werte in ihrem DOB Spalte, aber sie wurden in unserem MIN() ignoriert Beispiel.

Charakterdaten

Bei Verwendung mit Zeichendatenspalten MIN() findet den niedrigsten Wert in der Sortierfolge.

Beispiel:

SELECT MIN(ProductName)
FROM Products;

Ergebnis:

Bottomless Coffee Mugs (4 Pack)

Der DISTINCT Schlüsselwort

Der DISTINCT Schlüsselwort kann mit MIN() verwendet werden Dies führt jedoch zu demselben Ergebnis wie das Weglassen von DISTINCT . DISTINCT zulassen Funktion ermöglicht es MariaDB, dem ISO-SQL-Standard zu entsprechen.

Daher können wir Folgendes tun:

SELECT MIN(DISTINCT ProductPrice)
FROM Products;

Ergebnis:

9.99

Aber es hat keinen Einfluss auf die Ergebnisse.

Der DISTINCT Schlüsselwort kann sehr nützlich sein, wenn es mit anderen Kontexten verwendet wird (z. B. mit dem COUNT() Funktion), aber es hat keine Bedeutung, wenn es mit MIN() verwendet wird . Der DISTINCT Schlüsselwort entfernt Duplikate, aber im Fall von MIN() es macht keinen Unterschied, weil MIN() gibt dasselbe Ergebnis zurück, unabhängig davon, wie viele Zeilen denselben Mindestwert aufweisen.

Fensterfunktionen

Der MIN() Funktion kann in Verbindung mit OVER verwendet werden -Klausel zum Erstellen einer Fensterfunktion.

Siehe SQL MIN() Ein Beispiel für Anfänger.