Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL GROUP BY ... mit unterschiedlichen Werten im selben Feld

Verwenden Sie

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

oder

HAVING count(distinct ea.gender) = 2

Übrigens sollten Sie eine Unterabfrage verwenden, um alle Daten zu erhalten, wenn Sie gruppieren.

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
)