【发布时间】:2022-01-03 12:54:49
【问题描述】:
我正在尝试计算 Clickhouse 中每个 IP 地址的错误交易状态的百分比。
SELECT
c.source_ip,
COUNT(c.source_ip) AS total,
(COUNT(c.source_ip) / t.total_calls) * 100 AS percent_faulty
FROM sip_transaction_call AS c
CROSS JOIN
(
SELECT count(*) AS total_calls
FROM sip_transaction_call
) AS t
WHERE (status = 8 OR status = 9 or status = 13)
GROUP BY c.source_ip
不幸的是,Clickhouse 拒绝了:
"从服务器收到异常(版本 20.8.3): 代码:47。DB::Exception:从 127.0.0.1:9000 接收。 DB::Exception: 未知标识符:total_calls 有列:source_ip, COUNT(source_ip)。"
我为“隐形”别名尝试了各种解决方法,但都失败了。任何帮助将不胜感激。
【问题讨论】:
标签: sql join alias clickhouse