如何使用单个聚合函数按一列分组,但在 oracle 上 select 多列?

How to group by one column with single aggregate function but select multiple columns on oracle?

我想在单列上使用聚合函数按一列分组,同时选择多个其他 column.This 可以通过下面的查询在 MySQL 中轻松实现。

SELECT sum(count),store,date,product FROM sales_log_bak where date > "2017-03-01" and date < "2017-04-05" group by date

但是,上述查询在 oracle 上不起作用 Database.What 将等同于 oracle 中的查询以实现上述查询中 MySQL 给出的结果?

您可以使用 Analytic Functions:

SELECT sum(sales_count) OVER (PARTITION BY sales_date), 
   store, sales_date, product 
FROM sales_log_bak 
where sales_date > DATE '2017-03-01' and sales_date < DATE '2017-04-05';

注意,datecount 是 Oracle 中的保留字,您不应该将它们用于列名。