我有一个带有一位列的SQL表。如果在表的行中只出现一个位值(在我的情况下为1),我该如何创建一个SELECT语句,例如,表示表中两个位值的出现,即使另一个没有出现?这是我试图实现的结果:
+----------+--------+
| IsItTrue | AMOUNT |
+----------+--------+
| 1 | 12 |
| 0 | NULL |
+----------+--------+
我已经尝试过谷歌答案,但没有成功,因为英语不是我的母语,我不熟悉SQL术语。
答案 0 :(得分:3)
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