mysql怎么实现,分区排序,一级类目先按总销量排降序,各自一级类目下的二级类目,内部再排降序

2.rar

mysql怎么实现,分区排序,一级类目先按总销量排降序,各自一级类目下的二级类目,内部再排降序,各自二级类目下的三级类目,再内部排降序(参考图片)

FineReport yzmaizfF8924216 发布于 2023-3-31 11:02
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
用户W4933403Lv5初级互助
发布于2023-3-31 11:27

order by yi desc, er desc, san desc

  • yzmaizfF8924216 yzmaizfF8924216(提问者) yi,er,san是excel的方法,sql没有直接方便点的吗,另外话说,sql怎么实现sumifs啊
    2023-03-31 11:36 
  • 用户W4933403 用户W4933403 回复 yzmaizfF8924216(提问者) sum里面写case when 就行
    2023-03-31 11:46 
最佳回答
0
百煮味香Lv5初级互助
发布于2023-3-31 14:06

SELECT *

FROM (

    SELECT *, ROW_NUMBER() OVER (PARTITION BY first_category ORDER BY first_category_sales DESC, second_category_sales DESC, third_category_sales DESC) AS row_num

    FROM (

        SELECT *, SUM(sales) OVER (PARTITION BY first_category) AS first_category_sales, SUM(sales) OVER (PARTITION BY first_category, second_category) AS second_category_sales, SUM(sales) OVER (PARTITION BY first_category, second_category, third_category) AS third_category_sales

        FROM category_sales

    ) AS subquery

) AS final_query

WHERE row_num <= 10

ORDER BY first_category_sales DESC, second_category_sales DESC, third_category_sales DESC;

image.png

  • yzmaizfF8924216 yzmaizfF8924216(提问者) 不行吧,rownum限制10,我最终跑出来的数据才44条,明显不对
    2023-03-31 14:34 
  • 3关注人数
  • 306浏览人数
  • 最后回答于:2023-3-31 14:06
    请选择关闭问题的原因
    确定 取消
    返回顶部