Du måste göra en genomsökning av hela tabellen, så det här är förmodligen den bästa lösningen:
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;
Om din lista finns i en tabell med ett index kan du använda en left join
på det. MySQL optimerar dock sökningar efter in
med konstanta värden (den använder en binär sökning). Så detta är sannolikt den snabbaste metoden.