Mysql
 sql >> база данни >  >> RDS >> Mysql

Mysql:как да изберете групи с определени стойности?

Ако няма уникални ограничения, опитайте:

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

Или използвайте този HAVING клауза, ако се опитвате да откриете само два tag_id стойности:

HAVING MIN(tag_id) <> MAX(tag_id)

Ако и post_id, и tag_id имат уникално ограничение, това също трябва да работи:

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. MySQL:Изберете всички дати в диапазон, дори ако няма налични записи

  2. Как да изтрия дубликати в MySQL таблица?

  3. DATE_ADD() Примери – MySQL

  4. Запитване на няколко бази данни наведнъж

  5. mysql изберете горните n максимални стойности