Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak pobrać unikalne wiersze na podstawie kombinacji wartości kolumn?

EDYCJA:zmodyfikowano odpowiedź na zaktualizowane pytanie

UWAGA:zapytanie nie przetestowane

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

stara odpowiedź

możesz użyć group by, aby to osiągnąć.

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

może to być również możliwe przy użyciu odrębnego, ale przyjrzyłeś się temu. nie pamiętam, czy możliwe jest odróżnienie w wielu kolumnach. Myślę, że to też zadziała...

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak mogę przekazać tablicę wartości do mojej procedury składowanej?

  2. Wstawianie zbiorcze z SQLAlchemy ORM

  3. przechowywanie kwot pieniężnych w mysql

  4. MySQL:WYMAGAJ SSL nie pokazane w grantach

  5. równoczesny dostęp do bazy danych MySQL za pomocą procedury składowanej