sql >> Database >  >> RDS >> MariaDB

MIN() Functie in MariaDB

In MariaDB, MIN() is een aggregatiefunctie die de minimumwaarde in een bepaalde uitdrukking retourneert.

Syntaxis

De syntaxis gaat als volgt:

MIN([DISTINCT] expr)

Voorbeeldgegevens

Stel dat we een tabel hebben met de volgende gegevens:

SELECT
    VendorId,
    ProductName,
    ProductPrice
FROM Products;

Resultaat:

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

Voorbeeld

We kunnen de volgende zoekopdracht gebruiken om de minimumprijs uit die tabel te halen.

SELECT MIN(ProductPrice)
FROM Products;

Resultaat:

9.99

In dit geval wordt prijsinformatie opgeslagen in de ProductPrice kolom, en dus geven we dat door als argument aan de MIN() functie, die vervolgens het resultaat berekent en retourneert.

Gefilterde resultaten

De MIN() functie werkt op de rijen die door de query worden geretourneerd. Dus als u de resultaten filtert, wordt de uitvoer van MIN() zal dat weerspiegelen.

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

Resultaat:

11.99

In dit geval is 11,99 de minimumprijs van alle producten die door de opgegeven leverancier worden aangeboden.

Datum-/tijdgegevens

U kunt MIN() . gebruiken op datum/tijd-waarden.

Stel dat we de volgende tabel hebben:

SELECT PetName, DOB 
FROM Pets;

Resultaat:

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

We kunnen MIN() . gebruiken om de minimale geboortedatum te vinden (DOB ).

SELECT MIN(DOB)
FROM Pets;

Resultaat:

2018-10-01

Dit zou de geboortedatum zijn van het oudste huisdier.

NULL Waarden

De MIN() functie negeert elke NULL waarden. In onze voorbeeldtabel hierboven bevatten de laatste twee rijen NULL waarden in hun DOB kolom, maar ze werden genegeerd in onze MIN() voorbeeld.

Karaktergegevens

Bij gebruik met karaktergegevenskolommen, MIN() vindt de waarde die het laagst is in de sorteervolgorde.

Voorbeeld:

SELECT MIN(ProductName)
FROM Products;

Resultaat:

Bottomless Coffee Mugs (4 Pack)

De DISTINCT Zoekwoord

De DISTINCT trefwoord kan worden gebruikt met de MIN() functie geeft dit echter hetzelfde resultaat als het weglaten van DISTINCT . De DISTINCT . toestaan functie stelt MariaDB in staat om te voldoen aan de ISO SQL-standaard.

Daarom kunnen we dit doen:

SELECT MIN(DISTINCT ProductPrice)
FROM Products;

Resultaat:

9.99

Maar het heeft geen invloed op de resultaten.

De DISTINCT trefwoord kan erg handig zijn bij gebruik met andere contexten (bijv. met de COUNT() functie), maar het heeft geen betekenis bij gebruik met MIN() . De DISTINCT trefwoord verwijdert duplicaten, maar in het geval van MIN() het maakt geen verschil omdat MIN() geeft hetzelfde resultaat, ongeacht hoeveel rijen dezelfde minimumwaarde delen.

Vensterfuncties

De MIN() functie kan worden gebruikt in combinatie met de OVER clausule om een ​​vensterfunctie te maken.

Zie SQL MIN() Voor beginners bijvoorbeeld.


  1. Hoe de volgorde van invoeging in SQL Server te behouden?

  2. Hoe Oracle en Kafka . te integreren

  3. Database herstellen vanuit noodmodus in SQL Server

  4. Introductie van nieuwe functie - Spotlight Cloud-replicatie