我们有修饰符 [with totals] ,它可以汇总所有行中的值并获得键值= 0或null或smth这样的总结果 问题是我不明白如何在下次计算中使用这些值
也许我使用了错误的格式
select processing_date,count(*)
from `telegram.message`
where processing_date>='2019-05-01'
group by processing_date with totals
答案 0 :(得分:0)
文档说
您可以在子查询中使用WITH TOTALS,包括 JOIN子句(在这种情况下,将合计各自的总值)。
JOIN中的示例子查询(CH tests scripts in github):
SELECT k, s1, s2
FROM
(
SELECT intDiv(number, 3) AS k, sum(number) AS s1
FROM
(
SELECT *
FROM system.numbers
LIMIT 10
)
GROUP BY k WITH TOTALS
)
ANY LEFT JOIN
(
SELECT intDiv(number, 4) AS k, sum(number) AS s2
FROM
(
SELECT *
FROM system.numbers
LIMIT 10
)
GROUP BY k WITH TOTALS
) USING (k)
ORDER BY k ASC
/* Result:
┌─k─┬─s1─┬─s2─┐
│ 0 │ 3 │ 6 │
│ 1 │ 12 │ 22 │
│ 2 │ 21 │ 17 │
│ 3 │ 9 │ 0 │
└───┴────┴────┘
Totals:
┌─k─┬─s1─┬─s2─┐
│ 0 │ 45 │ 45 │
└───┴────┴────┘
*/
作为解决方法,您可以使用client libraries合并多个总计的结果。
答案 1 :(得分:0)
使用“汇总”而不是“总计”可以确定格式问题