2013-07-08 103 views
2

我有一个表包含我的用户的Facebook Ids,我必须做一个关于谁在使用Facebook或不使用Facebook的报告。按空值和非空值分组

为Facebook用户的数据行包含了许多否则它包含null

我的结果必须是这样的:

NbUsers Facebook 

1000  no 
    500  yes 

我不知道如何构建我的查询!

任何帮助将是有益的!

非常感谢!

+0

给你的表结构。 –

+0

你是否有任何专栏说明你的ID或Facebook ID,类似于IsFacebook? ..需要知道架构 – Microtechie

回答

2

您可以通过case语句很容易做到这一点:

SELECT SUM(CASE WHEN FACEBOOKID IS NULL THEN 1 ELSE 0 END) AS NbUsers , 'NO' AS FACEBOOK 
FROM USERTABLE 
UNION ALL 
SELECT SUM(CASE WHEN FACEBOOKID IS NULL THEN 0 ELSE 1 END) AS NbUsers , 'YES' AS FACEBOOK 
FROM USERTABLE 
+0

我建议你格式化你的答案,并把每一个选定的列在自己的行。 –

+0

修改了ans。 –