Tendrá que hacer un escaneo completo de la tabla, por lo que esta es probablemente la mejor solución:
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;
Si su lista está en una tabla con un índice, entonces puede usar una left join
en eso. Sin embargo, MySQL optimiza las búsquedas de in
con valores constantes (utiliza una búsqueda binaria). Así que es probable que este sea el método más rápido.