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

时间:2017-12-29 10:15:54

标签: oracle oracle11g oracle10g

我想在单列上用一个聚合函数的列分组,同时选择多个其他列。这可以通过下面的查询在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.Oracle会在上面的查询中获得MySQL所提供的结果的等效查询吗?

1 个答案:

答案 0 :(得分:2)

您可以使用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中的保留字,不应将它们用于列名。