【发布时间】:2016-10-17 17:30:18
【问题描述】:
到目前为止我有这个:
select created_at,
DATEDIFF(TO_DATE(current_date()), TO_DATE(sales_flat_order.created_at)) as delay,
count(*) over() as NumberOfOrders
FROM
magentodb.sales_flat_order
WHERE
status IN ( 'packed' , 'cod_confirmed' )
GROUP BY TO_DATE(created_at)
但这不起作用。
-
语法错误:
编译语句时出错:FAILED: SemanticException [Error 10004]: Line 1:7 Invalid table alias or column reference 'created_at': (可能的列名是: (tok_function to_date (tok_table_or_col created_at)))
count(*) does not give sum for each grouped by date but instead all of the rows.
注意:我实际上使用的是 hive,但它在查询方面与 sql 完全一样
【问题讨论】:
-
为什么你使用 over() 和 count(*) ??
-
不应该吗?由于我们需要计算为一个键分组的行,我认为它会这样工作
-
我没有得到 over() 的目的;如果您删除它,您的查询将正常工作。
标签: hive