liverbox
liverbox

Reputation: 33

SQL - group by both bits

I have an SQL table with one bit column. If only one bit value (in my case 1) occurs in the rows of the table, how can I make a SELECT statement which shows for, example, the occurance of both bit values in the table, even if the other does not occur? This is the result I'm trying to achieve:

+----------+--------+
| IsItTrue | AMOUNT |
+----------+--------+
|     1    |   12   |
|     0    |  NULL  |
+----------+--------+

I already tried to google the answer but without success, as English is not my native language and I am not that familiar with SQL jargon.

Upvotes: 3

Views: 52

Answers (1)

overflowed
overflowed

Reputation: 1838

select IsItTrue, count(id) as Amount from 
(select IsItTrue, id from table
union
select 1 as IsItTrue, null as id
union
select 0 as IsItTrue, null as id) t
group by bool

Upvotes: 3

Related Questions