两个序号问题

到货排名怎么才能根据,到货数量排序1620467382(1).png

FineReport 想象之中 发布于 2021-5-8 17:51
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
axingLv6专家互助
发布于2021-5-8 17:54

=sort(单元格)

  • 想象之中 想象之中(提问者) 0数据的都是同一个序号
    2021-05-08 17:58 
  • axing axing 回复 想象之中(提问者) 排名嘛,相同数据排名相同不是正常吗
    2021-05-08 18:09 
  • axing axing 回复 想象之中(提问者) 这里面总有一种你想要的并列不跳号排名-https://help.fanruan.com/finereport/doc-view-2504.html
    2021-05-08 18:10 
最佳回答
0
liboyu420949524Lv5中级互助
发布于2021-5-8 17:55

到货排名单元格写公式   ------  =rank(到货数量单元格, 到货数量单元格[!0;!0], 0)-----rank(H5, H5[!0;!0], 0)

最佳回答
0
Leonard.LinLv5初级互助
发布于2021-5-8 17:59

ROW_NUMBER () OVER (ORDER BY  到货数量)

最佳回答
0
李先生你好Lv2见习互助
发布于2021-5-9 15:05(编辑于 2021-5-9 15:06)

这个建议用sql查询【Oracle】排名,

①当数据都是0是 如果想要排名一样,可以用:

select rank() over(partition by 某产品 order by 到货数量 nulls last) as 排名 from table;

或者

select dense_rank() over(partition by 某产品 order by 到货数量 nulls last) as 排名 from table;

两个的区别是,后者是连续排名名次不会隔空,比如1 2 2 2 3 4;前者会隔空 1 2 2 2 5 6

②当数据都是0是 如果想要排名不一样,可以用:

select row_number() over(partition by 某产品 order by 到货数量 nulls last) as 排名 from table;

如果数据相同时有要求根据名称优先排序,可以在order by 到货数量后再加上(,名称 asc) 

以上用法查询排名时 partition by 某产品 可以不写,看需求有没有按分类各自排名

  • 5关注人数
  • 730浏览人数
  • 最后回答于:2021-5-9 15:06
    请选择关闭问题的原因
    确定 取消
    返回顶部