Я использовал SIGN, чтобы изменить бит на int
SELECT
SUM(SIGN(field)) AS tot_true,
SUM(1-SIGN(field)) AS tot_false
FROM table
Или используйте тот факт, что COUNT игнорирует NULL
SELECT
COUNT(NULLIF(field, 0)) AS tot_true,
COUNT(NULLIF(field, 1)) AS tot_false
FROM table
Это работает, если вам нужны другие значения MAX (SomeOtherField), где самые высокие значения получены из "ложных" строк, отфильтрованных в других решениях