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

MySQL:Ignorer en valgt kolonne, når du bruger DISTINCT

Der er to tilfælde her. Lad os sige, at du har dataene

A  B  C   (columns)
a  b  c1
a  b  c2

At tage forskellige værdier af A, B giver kun ét resultat (a,b), med to værdier for kolonne C. Så spørgsmålet er, om du vil se alle værdier af C eller kun én værdi for hver særskilt værdi af kolonne A og B ?

Hvis du kun vil se én værdi af C, så kan du skrive

SELECT A, B, MAX(C) FROM YourTable
  GROUP BY A, B

På den anden side, hvis du vil se alle værdier for C, så

SELECT DISTINCT A, B, C FROM YourTable WHERE ROW(A,B) IN 
  (SELECT A, B FROM YourTable
     GROUP BY A, B)

giver dig det. Dette sidste alternativ er nødvendigt, hvis der er andre kolonner i tabellen.



  1. hvordan man kan se, om kolonne er primær nøgle ved hjælp af mysqli?

  2. PostgreSQL FEJL:annullerer erklæring på grund af konflikt med gendannelse

  3. mysql er død, men subsys låst

  4. Bulk indsæt og få returneret ids laravel