sql中如何写每个人的销售前十名项目

我的目的是显示出每个人的销售总金额前十名项目的数量和金额,目前sql能写出这样,但不知道怎么样能写出每个人的前十名项目1691463873450.png1691463822646.png

FineReport 我要隐匿起来 发布于 2023-8-8 11:06 (编辑于 2023-8-8 13:11)
1min目标场景问卷 立即参与
回答问题
悬赏:0 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
我要隐匿起来Lv2见习互助
发布于2023-8-9 17:50

帆软内限定排序,本来想着用数据库的后来放弃了嫌麻烦

最后还是走了这条最蠢的路

最佳回答
0
Z4u3z1Lv6专家互助
发布于2023-8-8 11:08

看上去有点像mysql

https://www.dbs724.com/219414.html 参考

最佳回答
0
坚定的小帆薯Lv7高级互助
发布于2023-8-8 13:26

看你用的什么数据库,可以直接用窗口函数。

按照分组进行组内排序之后,直接过滤即可,详细参考文档

MySQL 窗口函数 - 废物大师兄 - 博客园  https://www.cnblogs.com/cjsblog/p/16743807.html

image.png

最佳回答
0
帆软用户CjQxCpdSk3Lv2见习互助
发布于2023-8-8 13:42

ROW_NUMBER()就行select * from (

    select t.*  ,ROW_NUMBER() over (PARTITION BY t.zzyslxm  ORDER by t.b )as  num from

        (select zzyslxm,hkxmmc,sum(hksl)as a,sum(hkxj)as b 

        from sap.v_hub_dwd_confirmation group by zzyslxm,hkxmmc order by sum(hkxj)) t ) d 

where d.num <=10

  • 2关注人数
  • 388浏览人数
  • 最后回答于:2023-8-9 17:50
    请选择关闭问题的原因
    确定 取消
    返回顶部