大麦茶fg 2017-06-12 02:33 采纳率: 0%
浏览 1030
已结题

mysql双重条件排序问题,需要用到存储过程,并非order by 加逗号隔开可解决的。详情见描述

公司活动需要,业务描述如下(按团队投资):
按团队投资金额由大到小排序(没有并列名次,按投资金额顺延),同时要求投资团队人数必须满足一定要求:
第1名 至少100人
第2名 至少50人
第3名 至少20人
第4 ~6名 至少15人
第7 ~12名 至少10人
第13 ~20名 至少5人
如:两个团队人数都是100人以上,A投资100w,B投资99w,B顺延到第二名层次,跟50人以上团队按投资金额进行排序,以此类推。类似插入排序。
请问这样的排序该如何写,应该是用存储过程才能解决了,求教,感谢!

  • 写回答

3条回答 默认 最新

  • Himly_Zhang 2017-06-12 05:40
    关注

    先创建一个函数。这个函数返回人数的规模范围。。比如 你传入200,返回是100,传入 105,返回是100,传入99.返回就是50. 因为按照规定来说。到底
    是100人,还是105人没有任何区别。

    那order by function(人数),先按照人数排序。然后后面逗号,再按照钱的关键字排序。就OK了。

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog