U zult een volledige tafelscan moeten doen, dus dit is waarschijnlijk de beste oplossing:
select (case when id in (< your list >) then 'in' else 'out' end) as inlist,
my_boolean_field, count(*)
from mytable t
group by (case when id in (< your list >) then 'in' else out' end),
my_boolean_field;
Als je lijst in een tabel met een index staat, dan kun je een left join
. gebruiken ben ermee bezig. MySQL optimaliseert echter zoekopdrachten voor in
met constante waarden (het gebruikt een binaire zoekopdracht). Dit is dus waarschijnlijk de snelste methode.