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

Hvordan henter man unikke rækker baseret på kolonneværdikombinationer?

EDIT:Svar ændret til opdateret spørgsmål

BEMÆRK:forespørgsel ikke testet

SELECT GROUP_CONCAT(lot ORDER BY lot ASC SEPARATOR ',') 
from mytable 
having count(*) = 2 
  and GROUP_CONCAT(tag ORDER BY tag ASC SEPARATOR ' ') = '101 102' 
group by product

gammelt svar

du kan bruge group by for at opnå dette.

select tag, product from mytable where tag in (101,102) group by tag, product 

dette kan også være muligt ved brug af distinkt, men du skal tage et kig på det. Jeg kan ikke huske, om det er muligt at adskille i flere kolonner. Jeg tror også, det vil virke...

select distinct tag, product from mytable where tag in (101,102)


  1. Mysql bliver ' til ’?

  2. SQL Server (TSQL) - Er det muligt at EXEC-sætninger parallelt?

  3. Lagret procedure for at få indeksstatus i alle databaser

  4. Hvornår skal man bruge Common Table Expression (CTE)