with
t1 as(
select
product_id,
product_name,
sum(sales_amount) as total_sales_amount,
sum(sales_quantity) as total_sales_quantity
from
sales_records left join products using(product_id)
where
sales_date between '2024-01-01' and '2024-12-31'
group by
product_id,
product_name
)
,
t2 as(
select
product_id,
product_name,
total_sales_amount,
total_sales_quantity,
rank()over(order by total_sales_quantity desc) as tsqrank
from
t1
)
select
product_id,
product_name,
total_sales_amount,
total_sales_quantity
from
t2
where
tsqrank=1
order by
product_id