繁体   English   中英

计数/组 Output 中 Null 值的雪花/SQL 会计

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM