Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie rufe ich eindeutige Zeilen basierend auf Spaltenwertkombinationen ab?

BEARBEITEN:Antwort für aktualisierte Frage geändert

HINWEIS:Abfrage nicht getestet

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

alte Antwort

Sie können Gruppieren nach verwenden, um dies zu erreichen.

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

dies ist möglicherweise auch möglich, wenn Sie unique verwenden, aber Sie müssen sich das einmal ansehen. Ich kann mich nicht erinnern, ob distinct in mehreren Spalten möglich ist. Ich denke, das wird auch funktionieren ...

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