[sql] 인라인 뷰를 사용하여 월별로 가장 많이 팔린 제품을 조회할 수 있나요?
아래는 인라인 뷰를 사용하여 월별로 가장 많이 팔린 제품을 조회하는 쿼리의 예시입니다.
WITH monthly_sales AS (
SELECT DATE_TRUNC('month', order_date) AS month,
product_id,
SUM(quantity) AS total_quantity
FROM sales
GROUP BY DATE_TRUNC('month', order_date), product_id
)
SELECT *
FROM (
SELECT month,
product_id,
total_quantity,
RANK() OVER (PARTITION BY month ORDER BY total_quantity DESC) AS ranking
FROM monthly_sales
) ranked_sales
WHERE ranking = 1;
이 쿼리에서는 WITH
구문을 사용하여 월별 판매량을 계산한 후, RANK()
함수를 사용하여 각 월별로 판매량이 가장 높은 제품을 순위를 매기고, 순위가 1인 제품만을 선택합니다.
참고문헌: PostgreSQL Documentation - Common Table Expressions