在配置单元中每周计算一列的总和

时间:2018-07-09 13:55:49

标签: hive apache-spark-sql hiveql hive-query

我在Hive中有一个表testTable(数据为3年),其中包含以下列:

retailers, order_total, order_total_qty, order_date

我必须使用以下列创建一个新表:

'source_name' as source, sum(retailers), sum(order_total), sum(order_total_qty) 

自订单开始日期起的每周。

我对此感到困惑。我如何按照以下每周汇总的方式对以下数据进行分组。

1 个答案:

答案 0 :(得分:0)

使用WEEKOFYEAR()函数每周计算一次汇总。

select 
  'source_name'           source, 
   sum(retailers)         sum_retailers, 
   sum(order_total)       sum_order_total, 
   sum(order_total_qty)   sum_order_total_qty,
   WEEKOFYEAR(order_date) week,
   year(order_date)       year
from testTable 
where order_date >= '2015-01-01' --start_date
group by WEEKOFYEAR(order_date), year(order_date)
order by year, week; --order if necessary