sql >> Database teknologi >  >> RDS >> Mysql

Hvordan forespørges række med laveste værdi, og også at kende værdien af ​​den højeste værdi?

Hvorfor ikke bare køre dette:

SELECT MIN(a) as minA, MAX(a) AS maxA FROM someTable

Desværre kender MySQL ikke vinduesfunktioner. Så hvis du virkelig vil vælge * sammen med min/max værdier, tror jeg, du bliver nødt til at ty til en JOIN:

SELECT * FROM 
(
  SELECT * FROM someTable ORDER BY a ASC LIMIT 1
) t1
CROSS JOIN
(
  SELECT MIN(a) as minA, MAX(a) AS maxA FROM someTable
) t2

Eller til et undervalg, som angivet i Imre L's svar



  1. Rullende antal rækker inden for tidsinterval

  2. SQL - Sådan undslipper du parenteser i PostgreSQL

  3. Slut dig til tre borde, hvor en af ​​dem ikke har en primær nøgle

  4. Sammenføjning af to separate forespørgsler i en postgresql ...forespørgsel... (mulig eller ikke muligt)