2017-09-12 2 views
0

나는 열 다음 포함 BQ의 판매 데이터가 -판매 수량에 따라 판매 제품에 대한 판매 순위 테이블을 작성

Customer Id | ItemID | Order_Qty | Order_Date 

은 내가 판매 총 수량에 따라 판매 순위 테이블을 만들려을 목.

최고 판매 품목 수에 대한 등급입니다.

예 : - 판매 된 총 30 개의 수량이있는 항목 abc는 1 등급이어야하며, 총 20 개의 수량이 판매되는 XYZ 항목은 2 등으로 정렬되어야합니다.

결과 테이블에서 다음 열을 원합니다.

ItemId | Total Quantity | Rank 

여기에 당신이 ean에 의해 순위를 원하는 추측하고 1

+0

itemId'가 아닌'G로 조회가 실패한다 부질의. –

+0

방금 ​​검색어를 수정했습니다. 고마워 – bunny

답변

2

가 BigQuery에 표준 SQL을위한

#standardSQL 
SELECT 
    ItemID, Total_Quantity, 
    RANK() OVER(ORDER BY Total_Quantity DESC) AS rnk 
FROM (
    SELECT ItemID, SUM(Order_Qty) AS Total_Quantity 
    FROM sales 
    GROUP BY ItemID 
) 
-- ORDER BY rnk 
0

모든 판매 순위는 어떤 이유로

select ItemId , 
     RANK() over (partition by ItemId order by Qty desc) as salesrank 
from (SELECT ItemId, sum(order_qty) as Qty 
     FROM sales 
     group by 1 
    ) 

포맷 - 기존의 SQL 지금까지 내 시도이다. 그렇다면 : 기존의 SQL에서

SELECT ean, SUM(order_qty) as Qty, 
     RANK() OVER (ORDER BY SUM(order_qty) DESC) as rnk 
FROM sales 
GROUP BY ean; 

이는 다음과 같을 수 있습니다

다음
SELECT ean, SUM(order_qty) as Qty, 
     RANK() OVER (ORDER BY qty DESC) as rnk 
FROM sales 
GROUP BY ean 
+0

이 쿼리를 이미 시도했지만 실패했습니다. BQ에서 오류를 throw합니다. - 분석 식에서 ORDER BY는 명명 된 열을 참조해야합니다. SUM을 찾았습니다. – bunny

관련 문제