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

MySQL GROUP BY...HAVING různé hodnoty stejné pole

Použijte

HAVING sum(ea.gender = 'female') > 0 
   AND sum(ea.gender = 'male') > 0

nebo

HAVING count(distinct ea.gender) = 2

BTW měli byste použít poddotaz k získání všech dat, když seskupujete.

SELECT * 
FROM events
where id in
(
    SELECT events.id 
    FROM events
    LEFT JOIN event_attendances ON (events.id = event_attendances.event_id)
    GROUP BY events.id
    HAVING count(distinct event_attendances.gender) = 2
)


  1. Nové a vyvíjející se podnikové funkce PostgreSQL s nejnovějšími verzemi

  2. Jak proměnit 2 dotazy se společnými sloupci (A, B) a (A, C) na jediný (A, B, C)?

  3. Jak zřetězit řetězce v SQL

  4. INSTR() Ekvivalent v SQL Server