2017-12-29 34 views
0

하나의 열에 집계 함수를 사용하여 하나의 열로 그룹화하고 다른 여러 열을 선택하는 것이 좋습니다. 이것은 아래의 쿼리를 통해 MySQL에서 쉽게 얻을 수 있습니다.단일 집계 함수를 사용하여 하나의 열로 그룹화하는 방법 그러나 oracle에서 여러 열을 선택하는 방법은 무엇입니까?

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

그러나 쿼리 위의 위의 쿼리에서 MySQL에 의해 주어진 결과를 달성하기 위해 오라클에 해당하는 쿼리 될 것입니다 오라클 Database.What 작동하지 않습니다?

+0

슬프게도 * strict-mode *에서 작업하지 않을 때 MySQL에서이 작업을 수행 할 수 있습니다. 그러나 추한 것입니다. –

답변

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가 예약 된 단어, 당신은 열 이름을 사용하지합니다.

+0

위의 쿼리를 친절하게 설명해 주실 수 있습니다. 'OVER'와'PARTITION BY'에 대한 저의 머리를 얻을 수 없습니다. – Flame

+1

@Flame - Wernfried가 링크 된 문서를 보았습니까? –