【发布时间】:2017-10-15 22:56:50
【问题描述】:
一位朋友就以下查询寻求帮助(请参阅图片以获得更多说明):
“我们需要生成基于售出商品数量的销售排名,并按产品计算。换句话说,对于给定的产品,售出商品数量最多的年份将排名第 1,下一个售出物品数量的年份将排在第 2 位,依此类推”
我给他邮寄了以下 SQL,但是他说所有行都以 1 的排名返回
Select product, year, num_of_items_sold
RANK( ) OVER (PARTITION BY product, year ORDER BY num_of_items_sold) as sales_rank
from prod_sales
我错过了什么吗?谢谢。
【问题讨论】:
-
使用
PARTITION BY product ORDER BY num_of_items_sold desc -
您使用的是什么数据库?甲骨文?
-
postgres。谢谢
标签: sql rank analytic-functions