我正在为工作创建一个相当简单的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;
Run Code Online (Sandbox Code Playgroud)
所以现在我有null手机数,但现在我需要分配给X的手机数量.
下面的东西应该是输出:
HANDSET ||| NULL ||| X
handset 1 ||| 50 ||| 5
handset 2 ||| 20 ||| 10
Run Code Online (Sandbox Code Playgroud)
有人可以请帮忙吗?
您可以使用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
Run Code Online (Sandbox Code Playgroud)