sql >> Databasteknik >  >> RDS >> Mysql

MIN() vs LEAST() i MySQL:Vad är skillnaden?

I MySQL är skillnaden mellan MIN() och LEAST() funktioner är exakt samma som skillnaden mellan MAX() och GREATEST() funktioner.

I båda fallen utför båda funktionerna en liknande operation, men de har olika syntax.

Syntax

Syntaxen för MIN() och LEAST() går så här:

MIN([DISTINCT] expr) [over_clause]
LEAST(value1,value2,...)

Alltså MIN() funktionen accepterar DISTINCT nyckelord samt en OVER satsen (och LEAST() funktionen inte).

Men den största skillnaden mellan dessa två funktioner ligger i argumentet/de argument som de accepterar. Närmare bestämt:

  • MIN() accepterar ett argument
  • LEAST() accepterar flera argument

Alltså MIN() används vanligtvis för att returnera minimivärdet i en kolumn i en databas. Tabellen kan innehålla många rader, men den här funktionen returnerar den med minimivärdet.

LEAST() å andra sidan returnerar argumentet med minsta värde från listan över argument som skickas till det. Så du kan skicka säg 3 argument till den här funktionen och den kommer att returnera det med det minsta värdet.

Exempel 1 – MIN()-funktionen

Här är ett exempel för att demonstrera MIN() funktion.

SELECT MIN(Population) AS 'Result'
FROM City;

Resultat:

+--------+
| Result |
+--------+
|     42 |
+--------+

Det här exemplet hittar staden med den minsta befolkningen från City tabell. Kolumnen som innehåller befolkningen för varje stad kallas Population .

Huvudpoängen med det här exemplet är att endast ett argument tillhandahölls till funktionen, men flera rader frågades efter.

Om du försöker skicka flera argument till MIN() funktion får du ett felmeddelande.

Exempel 2 – LEAST()-funktionen

Här är ett exempel för att visa LEAST() funktion.

SELECT LEAST(1, 5, 9) AS 'Result';

Resultat:

+--------+
| Result |
+--------+
|      1 |
+--------+

Så i det här fallet ger vi tre argument. Varje argument jämförs mot det andra. Detta är i motsats till det enda argumentet som tillhandahålls för MIN() funktion.

Om du försöker skicka ett enda argument till LEAST() funktion får du ett felmeddelande.


  1. SQL-serverlogg, leverans och katastrofåterställning, installation och konfiguration -2

  2. SQLite REPLACE-sats

  3. Varför producerar en parameteriserad fråga mycket långsammare frågeplan jämfört med icke-parameteriserad fråga

  4. Mappning av en främmande nyckel med ett anpassat kolumnnamn