对hql中的Count的总结 - 错误UDAF尚未支持的地方' count'

时间:2016-09-12 07:56:54

标签: hql

我是新来的,所以请保持温和,我长期使用本网站后的第一个问题是:

我试图在过去30天内创建一系列事件:

select  key, sum((COALESCE(count(*),0)))
from table
Where date>= '2016-08-13'
And date<= '2016-09-11'
group by key;

但总和似乎不起作用。我查看过去30天,我想计算每个密钥存在的任何行,然后计算总数(我需要每天计算,然后计算全天的数量) )。

如果您可以提供任何其他方式来处理此问题,我可以提出建议!

非常感谢, 希拉

2 个答案:

答案 0 :(得分:2)

您无法在HQL(或SQL)中嵌套聚合函数。但是,如果您只想让每个键的记录数落在范围内,那么您只需使用COUNT(*)

select  key, count(*)
from table
where date >= '2016-08-13' and
      date <= '2016-09-11'
group by key;

答案 1 :(得分:0)

您的代码看起来有些问题。 我已经为你写了这个,还没有测试过,但它通过了语法测试。

SELECT COUNT(key) AS Counting FROM tblname 
WHERE date>= '2016-08-13'
AND date<= '2016-09-11' 
GROUP BY key;

this可能会对您有所帮助。你肯定应该在这个查询中使用COUNT。

我不确定它是否相关,但调用字段键可能会出现问题&#39;我一直收到语法错误。

希望我能够提供帮助!

-Krypton