Teradata中有如下所示的表:
SMS_ID | CLIENT_ID
-------------------
11 | 123
22 | 123
33 | 123
87 | 456
89 | 456
14 | 888的客户端ID
我的问题是:如何在Teradata中计算每个客户端的SMS平均数量?
如果计算正确,每个客户端短信的平均数量为2,因为(3+2+1) /3=2
发布于 2022-01-17 10:02:59
首先聚合并查找每个客户端的计数,然后对整个表进行子查询并取其平均值。
SELECT AVG(cnt)
FROM
(
SELECT COUNT(*) AS cnt
FROM yourTable
GROUP BY CLIENT_ID
) t;发布于 2022-01-17 10:55:55
Tim的查询可以简化为行数除以客户机数
SELECT CAST(COUNT(*) AS FLOAT) / COUNT(DISTINCT CLIENT_ID)
FROM yourTable哪一个更有效取决于你的实际数据。
https://stackoverflow.com/questions/70739424
复制相似问题