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

Mysql:jak wybrać grupy posiadające określone wartości?

Jeśli nie ma żadnych unikalnych ograniczeń, spróbuj:

SELECT post_id 
FROM tags 
WHERE tag_id = 1 OR tag_id = 3 
GROUP BY post_id 
HAVING count(DISTINCT tag_id) = 2;

Lub użyj tego HAVING klauzula, jeśli próbujesz wykryć tylko dwa tag_id wartości:

HAVING MIN(tag_id) <> MAX(tag_id)

Jeśli zarówno post_id, jak i tag_id mają unikatowe ograniczenie, to również powinno działać:

SELECT post_id 
FROM tags 
WHERE tag_id = 1 OR tag_id = 3 
GROUP BY post_id 
HAVING count(*) = 2;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Grupuj według klauzuli w mySQL i postgreSQL, skąd błąd w postgreSQL?

  2. Błąd składni spowodowany użyciem zastrzeżonego słowa jako nazwy tabeli lub kolumny w MySQL

  3. MySQL:Jak skopiować wiersze, ale zmienić kilka pól?

  4. Python łączy się z bazą danych MySQL za pomocą złącza MySQL i przykładu PyMySQL

  5. Najczęstsze zapytania dotyczące MySQL