Существуют некоторые коммерческие инструменты: Structure101 & Lattix, который может использоваться с этой целью.
Предполагая, что бит равен 1/0, вы можете SUM вместо COUNT:
SELECT SUM(Automatic) as Automatic, SUM(Smelly) as Smelly, SUM(American) as Japanese FROM ...
В sql server 2008 при попытке суммировать поле бита типа данных возникает следующая ошибка:
Сообщение 8117, уровень 16, состояние 1, строка 10
бит типа данных операнда недействителен для оператор суммы.
, так что вы можете попробовать следующее:
SELECT SUM(CAST(Automatic AS TINYINT)) as Automatic, SUM(CAST(Smelly AS TINYINT)) as Smelly, SUM(CAST(American AS TINYINT)) as Japanese FROM YourTable
Если это еще не 1/0, то, исходя из истинного значения, вы можете сделать это:
Select
Sum(Case When Automatic = truevalue Then 1 Else 0 End) as Automatic,
Sum(Case When Smelly = truevalue Then 1 Else 0 End) as Smelly,
Sum(Case When American = truevalue Then 1 Else 0 End) as American,
Sum(Case When Noisy = truevalue Then 1 Else 0 End) as Noisy
From Table