MIN / MAX în MySQL

Grupare și calcule Toate versiunile MySQL și MariaDB

Returnează cea mai mică și cea mai mare valoare dintr-o coloană.

Sintaxă
SELECT MIN(coloana), MAX(coloana) FROM tabel;

Ce face MIN / MAX

MIN și MAX găsesc valoarea minimă și maximă. Merg pe numere, date (cea mai veche și cea mai nouă) și texte (ordinea alfabetică).

Ele returnează doar valoarea, nu rândul întreg. Dacă vrei și celelalte coloane ale produsului celui mai scump, folosește ORDER BY pret DESC LIMIT 1.

Exemple

Exemplele de pe această pagină pornesc de la datele de mai jos. Rulează mai întâi acest cod, apoi exemplul.

CREATE TABLE clienti (
  id INT PRIMARY KEY,
  nume VARCHAR(50) NOT NULL,
  oras VARCHAR(30),
  email VARCHAR(100)
);

INSERT INTO clienti VALUES
  (1, 'Ana Pop', 'Cluj', 'ana@exemplu.ro'),
  (2, 'Bogdan Ionescu', 'Sibiu', NULL),
  (3, 'Cristina Marin', 'Cluj', 'cristina@exemplu.ro'),
  (4, 'Dan Stoica', 'Arad', NULL);

CREATE TABLE comenzi (
  id INT PRIMARY KEY,
  client_id INT,
  data DATE,
  total INT
);

INSERT INTO comenzi VALUES
  (101, 1, '2026-09-03', 3580),
  (102, 3, '2026-09-15', 650),
  (103, 1, '2026-10-02', 1200),
  (104, 2, '2026-10-11', 80);

Exemplul 1: Cea mai mică și cea mai mare comandă

SELECT MIN(total), MAX(total) FROM comenzi;

Rezultat

+------------+------------+
| MIN(total) | MAX(total) |
+------------+------------+
|         80 |       3580 |
+------------+------------+

Exemplul 2: Prima și ultima comandă

SELECT MIN(data) AS prima, MAX(data) AS ultima FROM comenzi;

Rezultat

+------------+------------+
| prima      | ultima     |
+------------+------------+
| 2026-09-03 | 2026-10-11 |
+------------+------------+

Exemplul 3: Rândul întreg al celei mai mari comenzi

SELECT * FROM comenzi ORDER BY total DESC LIMIT 1;

Rezultat

+-----+-----------+------------+-------+
| id  | client_id | data       | total |
+-----+-----------+------------+-------+
| 101 |         1 | 2026-09-03 |  3580 |
+-----+-----------+------------+-------+

Greșeli frecvente

  • Scrii SELECT client_id, MAX(total) FROM comenzi și crezi că client_id aparține comenzii maxime. În MySQL 8, interogarea dă eroare (ONLY_FULL_GROUP_BY). În versiunile vechi, valoarea este a unui rând oarecare.

Comenzi înrudite

  • ORDER BY: Ordonează rezultatele crescător (ASC) sau descrescător (DESC) după una sau mai multe coloane.
  • AVG: Calculează media aritmetică a valorilor dintr-o coloană.
  • GROUP BY: Grupează rândurile cu aceeași valoare, ca să calculezi totaluri pentru fiecare grup.