hql 中的计数求和 - UDAF 尚不支持的错误 'count'
Sum on Count in hql - error Not yet supported place for UDAF 'count'
我是新来的,所以请保持温和,我使用这个网站很长时间后的第一个问题是:
我正在尝试创建过去 30 天的事件计数总和:
select key, sum((COALESCE(count(*),0)))
from table
Where date>= '2016-08-13'
And date<= '2016-09-11'
group by key;
但总和似乎不起作用。我正在查看过去 30 天,我想计算每个键存在的任何行,然后对计数求和(我需要每天计数,然后对全天的计数求和)。
如果您能提供任何其他方法来处理这个问题,我愿意接受建议!
非常感谢,
希拉
您的代码似乎有几处错误。
我已经为你写了这个,还没有测试,但它通过了语法测试。
SELECT COUNT(key) AS Counting FROM tblname
WHERE date>= '2016-08-13'
AND date<= '2016-09-11'
GROUP BY key;
this 可能会对您有所帮助。您绝对应该为此查询使用 COUNT。
我不确定它是否相关,但调用字段可能存在问题'key'我一直收到它的语法错误。
希望我能帮上忙!
-氪星
您不能在 HQL 中嵌套聚合函数(或 SQL)。但是,如果您只想计算每个键范围内的记录数,那么您只需使用 COUNT(*)
:
select key, count(*)
from table
where date >= '2016-08-13' and
date <= '2016-09-11'
group by key;
我是新来的,所以请保持温和,我使用这个网站很长时间后的第一个问题是:
我正在尝试创建过去 30 天的事件计数总和:
select key, sum((COALESCE(count(*),0)))
from table
Where date>= '2016-08-13'
And date<= '2016-09-11'
group by key;
但总和似乎不起作用。我正在查看过去 30 天,我想计算每个键存在的任何行,然后对计数求和(我需要每天计数,然后对全天的计数求和)。
如果您能提供任何其他方法来处理这个问题,我愿意接受建议!
非常感谢, 希拉
您的代码似乎有几处错误。 我已经为你写了这个,还没有测试,但它通过了语法测试。
SELECT COUNT(key) AS Counting FROM tblname
WHERE date>= '2016-08-13'
AND date<= '2016-09-11'
GROUP BY key;
this 可能会对您有所帮助。您绝对应该为此查询使用 COUNT。
我不确定它是否相关,但调用字段可能存在问题'key'我一直收到它的语法错误。
希望我能帮上忙!
-氪星
您不能在 HQL 中嵌套聚合函数(或 SQL)。但是,如果您只想计算每个键范围内的记录数,那么您只需使用 COUNT(*)
:
select key, count(*)
from table
where date >= '2016-08-13' and
date <= '2016-09-11'
group by key;