Anda harus melakukan pemindaian tabel lengkap, jadi ini mungkin solusi terbaik:
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;
Jika daftar Anda ada dalam tabel dengan indeks, maka Anda dapat menggunakan left join
di atasnya. Namun, MySQL mengoptimalkan pencarian untuk in
dengan nilai konstan (menggunakan pencarian biner). Jadi ini mungkin metode tercepat.