我正在为工作创建一个相当简单的Access数据库,并且我被这一条SQL语句卡住了:
我有一个表,其中包含手持设备和分配给它们的站点Ids。我想要做的是查询表,在一列和另一列中给出NULL实体的数量,另一列显示分配给X site 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有人能帮帮忙吗?
发布于 2012-07-15 07:18:28
您可以使用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发布于 2012-07-15 07:03:34
不确定访问,但这是我在MySQL中通常做的事情
SELECT SUM(IF(handset_site_id IS NULL, 1, 0)) AS number_of_null_handsets ...
https://stackoverflow.com/questions/11488006
复制相似问题