【问题标题】:Sum on Count in hql - error Not yet supported place for UDAF 'count'hql 中的计数总和 - 错误尚不支持 UDAF 'count' 的位置
【发布时间】:2016-09-12 07:56:54
【问题描述】:

我是新来的,所以请温柔,我在使用本网站很长时间后的第一个问题是:

我正在尝试创建过去 30 天内的事件总数:

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

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

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

非常感谢, 希拉

【问题讨论】:

    标签: hql


    【解决方案1】:

    您不能在 HQL(或 SQL)中嵌套聚合函数。但是,如果您只想计算每个键范围内的记录数,那么您可以简单地使用COUNT(*)

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

    【讨论】:

      【解决方案2】:

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

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

      this 可能会对您有所帮助。您绝对应该为此查询使用 COUNT。

      我不确定它是否相关,但调用字段“键”可能存在问题,我一直收到它的语法错误。

      希望我能提供帮助!

      -氪

      【讨论】:

        猜你喜欢
        • 2021-01-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-08
        • 2014-02-04
        • 1970-01-01
        相关资源
        最近更新 更多