Sie müssen einen vollständigen Tabellenscan durchführen, daher ist dies wahrscheinlich die beste Lösung:
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;
Wenn sich Ihre Liste in einer Tabelle mit einem Index befindet, können Sie einen left join
verwenden darauf. MySQL optimiert jedoch die Suche nach in
mit konstanten Werten (es verwendet eine binäre Suche). Dies ist also wahrscheinlich die schnellste Methode.