sql >> Databasteknik >  >> RDS >> MariaDB

MIN() Funktion i MariaDB

I MariaDB, MIN() är en aggregerad funktion som returnerar minimivärdet i ett givet uttryck.

Syntax

Syntaxen ser ut så här:

MIN([DISTINCT] expr)

Exempeldata

Anta att vi har en tabell med följande data:

SELECT
    VendorId,
    ProductName,
    ProductPrice
FROM Products;

Resultat:

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

Exempel

Vi kan använda följande fråga för att få minimipriset från den tabellen.

SELECT MIN(ProductPrice)
FROM Products;

Resultat:

9.99

I det här fallet lagras prisinformation i ProductPrice kolumnen, och så skickar vi det som ett argument till MIN() funktion, som sedan beräknar och returnerar resultatet.

Filtrerade resultat

MIN() funktionen fungerar på raderna som returneras av frågan. Så om du filtrerar resultaten, utdata från MIN() kommer att återspegla det.

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

Resultat:

11.99

I det här fallet är 11,99 minimipriset av alla produkter som erbjuds av den angivna leverantören.

Datum/tiddata

Du kan använda MIN() på datum/tidsvärden.

Anta att vi har följande tabell:

SELECT PetName, DOB 
FROM Pets;

Resultat:

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

Vi kan använda MIN() för att hitta det lägsta födelsedatumet (DOB ).

SELECT MIN(DOB)
FROM Pets;

Resultat:

2018-10-01

Detta skulle vara födelsedatumet för det äldsta husdjuret.

NULL Värden

MIN() funktionen ignorerar någon NULL värden. I vår exempeltabell ovan innehåller de två sista raderna NULL värden i deras DOB kolumnen, men de ignorerades i vår MIN() exempel.

Teckendata

När den används med teckendatakolumner, MIN() hittar det värde som är lägst i sorteringssekvensen.

Exempel:

SELECT MIN(ProductName)
FROM Products;

Resultat:

Bottomless Coffee Mugs (4 Pack)

DISTINCT Nyckelord

DISTINCT Nyckelordet kan användas med MIN() funktion, men detta ger samma resultat som att utelämna DISTINCT . Tillåter DISTINCT funktionen gör det möjligt för MariaDB att följa ISO SQL-standarden.

Därför kan vi göra detta:

SELECT MIN(DISTINCT ProductPrice)
FROM Products;

Resultat:

9.99

Men det har ingen inverkan på resultaten.

DISTINCT Nyckelordet kan vara mycket användbart när det används med andra sammanhang (t.ex. med COUNT() funktion), men den har ingen betydelse när den används med MIN() . DISTINCT nyckelordet tar bort dubbletter, men i fallet med MIN() det kommer inte att göra någon skillnad eftersom MIN() returnerar samma resultat oavsett hur många rader som delar samma minimivärde.

Fönsterfunktioner

MIN() funktionen kan användas tillsammans med OVER klausul för att skapa en fönsterfunktion.

Se SQL MIN() För nybörjare till exempel.


  1. Hur LOCATE() fungerar i MariaDB

  2. Hur man skriver ut flera rapporter med streckkoder \ eller flera streckkoder i en rapport

  3. De använda SELECT-satserna har ett annat antal kolumner (REDUX!!)

  4. MySQL varchar indexlängd