sql >> Databáze >  >> RDS >> Mysql

Mysql:jak vybrat skupiny s určitými hodnotami?

Pokud neexistují žádná jedinečná omezení, zkuste:

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

Nebo použijte tento HAVING klauzule, pokud se pokoušíte detekovat pouze dva tag_id hodnoty:

HAVING MIN(tag_id) <> MAX(tag_id)

Pokud mají oba post_id a tag_id jedinečné omezení, mělo by to fungovat také:

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


  1. SQL Server uložené procedury od Oracle®

  2. Jak používat parametr s LIKE v SQL Server Compact Edition

  3. Jak zacházet s MAX() prázdné tabulky jako s 0 namísto NULL

  4. Jak vytvořit tabulku s omezením cizího klíče v SQL Server - SQL Server / TSQL výukový program, část 66