Budete muset provést úplný sken tabulky, takže toto je pravděpodobně nejlepší řešení:
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;
Pokud je váš seznam v tabulce s indexem, můžete použít left join
na to. MySQL však optimalizuje vyhledávání in
s konstantními hodnotami (využívá binární vyhledávání). Takže toto bude pravděpodobně nejrychlejší metoda.