我正在寻找一种方法来在Impala中的所有组中执行“总计”列。
使用窗口函数很容易获得如下所示的分区组:
sum(x)over(分区A)
然而,似乎没有一个表达式被'all'分区。这是Impala的缺点吗?在postgress中,你可以将over语句留空。
答案 0 :(得分:0)
partition子句是可选的。您可以编写如下查询:
select sum(x) over () from t;
例如:
[localhost:21000] > select id, sum(id) over () from tbl;
+----+-------------------+
| id | sum(id) OVER(...) |
+----+-------------------+
| 0 | 28 |
| 1 | 28 |
| 2 | 28 |
| 3 | 28 |
| 6 | 28 |
| 7 | 28 |
| 4 | 28 |
| 5 | 28 |
+----+-------------------+
Fetched 8 row(s) in 0.08s