按年份分组取PRICE COUNT最大值对应行的SQL查询问题
SQL查询需求:获取每年PRICE COUNT最高的行
我需要编写SQL查询,获取每个年份(YEAR)中PRICE COUNT值最高的行,结果需包含YEAR、ITEM、PRICE列。
我尝试多种方法仍未解决,查阅资料也无果。现有查询已接近需求,但按YEAR、ITEM_NUMBER、PRICE分组时,无法返回与每个年份最高PRICE COUNT对应的PRICE列。
当前查询语句
SELECT YEAR(IH.ORDER_DATE) AS 'YEAR', IL.ITEM_NUMBER AS 'ITEM', IL.PRICE AS 'PRICE', COUNT(IL.PRICE) AS 'PRICE COUNT' FROM INVENTORY_LINES IL INNER JOIN INVENTORY_HEADER IH ON IL.DOC_NUM = IH.DOC_NUM WHERE IL.ITEM_NUMBER = 'WIDGET' AND IL.PRICE > 0 AND IL.AMT_SHIPPED > 0 GROUP BY YEAR(IH.ORDER_DATE), IL.ITEM_NUMBER, IL.PRICE ORDER BY YEAR(IH.ORDER_DATE) ASC, COUNT(IL.PRICE)
当前结果说明
当前查询会返回每年中不同PRICE对应的PRICE COUNT记录(保留PRICE COUNT列仅作说明,最终结果无需该列):
- 同一年份下会有多条不同PRICE的记录,每条记录对应各自的PRICE COUNT值
期望结果
仅返回每年中PRICE COUNT值最高的那一行,最终结果仅包含YEAR、ITEM、PRICE三列。
补充说明
- 编辑1:Zero的回答已解决我的问题,感谢Zero,我已采纳该答案。
- 编辑2:以2014年为例,该年份存在多个不同的PRICE值,每个值对应不同的PRICE COUNT,需要从中选出PRICE COUNT最高的那一行。
内容的提问来源于stack exchange,提问作者StoneOcean
相关产品推荐
相关产品推荐

