sql >> Database teknologi >  >> RDS >> MariaDB

MIN() Funktion i MariaDB

I MariaDB, MIN() er en aggregeret funktion, der returnerer minimumsværdien i et givet udtryk.

Syntaks

Syntaksen ser sådan ud:

MIN([DISTINCT] expr)

Eksempel på data

Antag, at vi har en tabel med følgende 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 |
+----------+---------------------------------+--------------+

Eksempel

Vi kan bruge følgende forespørgsel til at få minimumsprisen fra den tabel.

SELECT MIN(ProductPrice)
FROM Products;

Resultat:

9.99

I dette tilfælde gemmes prisoplysninger i ProductPrice kolonne, og så sender vi det som et argument til MIN() funktion, som derefter beregner og returnerer resultatet.

Filtrerede resultater

MIN() funktionen fungerer på de rækker, der returneres af forespørgslen. Så hvis du filtrerer resultaterne, outputtet af MIN() vil afspejle det.

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

Resultat:

11.99

I dette tilfælde er 11,99 minimumsprisen ud af alle de produkter, der tilbydes af den angivne leverandør.

Data-/tidsdata

Du kan bruge MIN() på dato/tidsværdier.

Antag, at vi har følgende tabel:

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 bruge MIN() for at finde minimumsfødselsdatoen (DOB ).

SELECT MIN(DOB)
FROM Pets;

Resultat:

2018-10-01

Dette ville være fødselsdatoen for det ældste kæledyr.

NULL Værdier

MIN() funktionen ignorerer enhver NULL værdier. I vores eksempeltabel ovenfor indeholder de sidste to rækker NULL værdier i deres DOB kolonne, men de blev ignoreret i vores MIN() eksempel.

Tegndata

Når det bruges sammen med tegndatakolonner, MIN() finder den værdi, der er lavest i sorteringssekvensen.

Eksempel:

SELECT MIN(ProductName)
FROM Products;

Resultat:

Bottomless Coffee Mugs (4 Pack)

DISTINCT Søgeord

DISTINCT nøgleordet kan bruges med MIN() funktion, men dette giver det samme resultat som at udelade DISTINCT . Tillad DISTINCT funktion gør det muligt for MariaDB at overholde ISO SQL-standarden.

Derfor kan vi gøre dette:

SELECT MIN(DISTINCT ProductPrice)
FROM Products;

Resultat:

9.99

Men det har ingen indflydelse på resultaterne.

DISTINCT Nøgleord kan være meget nyttigt, når det bruges sammen med andre sammenhænge (f.eks. med COUNT() funktion), men den har ingen betydning, når den bruges sammen med MIN() . DISTINCT søgeord fjerner dubletter, men i tilfælde af MIN() det vil ikke gøre nogen forskel, fordi MIN() returnerer det samme resultat, uanset hvor mange rækker der deler den samme minimumsværdi.

Vinduefunktioner

MIN() funktionen kan bruges sammen med OVER klausul for at oprette en vinduesfunktion.

Se SQL MIN() For begyndere for eksempel.


  1. En løsning til DATEDIFF() ignorering af SET DATEFIRST i SQL Server (T-SQL-eksempel)

  2. Brug af ODBC med Salesforce og Azure Active Directory (AD) Single Sign On (SSO)

  3. Tak, Amazon, for at inspirere os til at levere en bedre DBaaS:SkySQL

  4. MySQL DROP VIEW