我想在单列上用一个聚合函数的列分组,同时选择多个其他列。这可以通过下面的查询在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所提供的结果的等效查询吗?
答案 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';
注意,date
和count
是Oracle中的保留字,不应将它们用于列名。