我正在为工作创建一个相当简单的Access数据库,我仍然坚持这一个SQL语句:
我有一个表,其中包含手机和分配给它们的站点ID。我想要做的是查询表格,以便为我提供一列中NULL
个实体的数量,以及显示分配给X网站ID的手机数量的另一列。
我可以很容易地得到NULL
个实体的数量但是在一个陈述中获得两个结果都超出了我的范围。
这是我到目前为止所做的:
SELECT Handset_Type, COUNT(*) as "Number of null handsets"
FROM tbl_Handsets
WHERE Handset_Site_Id is Null
GROUP BY Handset_Type;
所以现在我有null
手机的数量,但现在我需要分配给X的手机数量。
下面的内容应该是输出:
HANDSET ||| NULL ||| X
handset 1 ||| 50 ||| 5
handset 2 ||| 20 ||| 10
有人可以请帮忙吗?
答案 0 :(得分:5)
您可以使用Access的IIF()
功能有条件地汇总:
SELECT handset_type,
COUNT(IIF(handset_site_id IS NULL, 1, NULL)) AS nullcount,
COUNT(IIF(handset_site_id = X, 1, NULL)) AS X
FROM tbl_handsets
GROUP BY handset_type
答案 1 :(得分:0)
不确定Access,但这是我在MySQL中通常做的事情
SELECT SUM(IF(handset_site_id IS NULL, 1, 0)) AS number_of_null_handsets
...