[英]Snowflake/SQL Accounting for Null Values in Count/Group Output
这里没有真正的想法如何 go 关于这个但我正在使用两个表,我已经加入了一个共同的用户 ID,我需要计算所有用户的每个用户 ID 的“票”的平均数量,同时考虑到提交了 null 票的用户.
SELECT u.UID, u.DATE_CREATED, COUNT(distinct t.tickets) AS COUNT
FROM users u, tickets t
WHERE u.USER_ID = t.USER_ID
GROUP BY UID, DATE_CREATED
ORDER BY COUNT DESC
注意表用户具有用户 ID 信息并与具有票据 ID 的票据表连接
最初有 200 条用户 ID 记录,但运行此查询后,它返回 170 个用户和提交的工单计数,如下所示。 我相信缺失的 30 个用户在点票时有一个 null 值。
[问题] 是否可以将 null 值分组为 '0' 和 output 关联的用户 ID 和 0 值作为 COUNT 到下面的示例 Z78E6221F6393D1356681DB398F14CE6D?
当前 Output:
UID COUNT
252 1291
251 1222
250 1000
[..] [...]
212 1
128 1
121 1
所需的 Output(计数 UID,其中 Count 为 Null)当前 Output:
UID COUNT
252 1291
251 1222
250 1000
[..] [...]
212 1
128 1
121 1
52 0
23 0
11 0
如果您想要所有用户,请使用LEFT JOIN
:
SELECT U.UID, U.DATE_CREATED, COUNT(distinct T.tickets) AS COUNT
FROM users u LEFT JOIN
tickets t
ON u.USER_ID = t.USER_ID
GROUP BY U.UID, U.DATE_CREATED
ORDER BY COUNT DESC
SELECT u.UID, COUNT(distinct tickets)
FROM users u
LEFT JOIN tickets t ON u.USER_ID = t.USER_ID
GROUP BY 1
ORDER BY 2 desc;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.