Będziesz musiał wykonać pełne skanowanie tabeli, więc jest to prawdopodobnie najlepsze rozwiązanie:
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;
Jeśli twoja lista jest w tabeli z indeksem, możesz użyć left join
na tym. Jednak MySQL optymalizuje wyszukiwanie dla in
ze stałymi wartościami (wykorzystuje wyszukiwanie binarne). Jest to prawdopodobnie najszybsza metoda.