【问题标题】:How to aggregate data by counting days in date?如何通过计算日期的天数来聚合数据?
【发布时间】:2020-06-11 11:34:29
【问题描述】:

我从 Athena 检索到以下数据:

book_id   cat_id   books    date       year   month  day
1          12        50   2020-05-08   2020   05     08

但是,我想使用以下公式获取 avg_books,而不是书籍:

SUM(books)/COUNT(DISTINCT(DAY([Date]) 

我是 SQL 的初学者,所以我做不到。谁能帮帮我?

【问题讨论】:

  • 请提供样本数据和期望的结果。

标签: sql presto amazon-athena


【解决方案1】:

计算日期怎么样?

select sum(books) / count(distinct date)

或者,如果您愿意:

select sum(books) / count(distinct year * 10000 + month * 100 + day)

当然,您可以使用:

    select sum(books) / count(distinct extract(day from date))

但这并没有真正的意义。

【讨论】:

  • 谢谢。好吧,当我这样查询时:SELECT book_id, month, year, sum(pk_offers_on_oop) / count(distinct date) 我每月都会得到准确的结果。但是当我选择日期而不是月、年时,它并没有给我正确的结果。我也想每天查看 avg_books。
猜你喜欢
  • 2011-02-11
  • 2023-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-26
  • 1970-01-01
相关资源
最近更新 更多