问题描述
最近在开发APP的一个报表后台,使用的是MySQL数据库,遇到一个很郁闷的问题就是MySQL对百分比排序的处理,之前的报表都是在Oracle当中,从来没纠结过百分比怎么处理。在MySql中百分比直接排序效果如下;
100% 90% 9% 80% 8% 70% |
这个坑爹问题已经很明显了,下面说下怎么处理
解决过程
首先看一下‘100%’怎么生成:
CONCAT(ROUND(num1*100/num2,2),'%') |
这里的意思就是:
ROUND(num1*100/num2,2)结果保留2位有效数字
CONCAT(num,'%')在num后面加上‘%’
CASE-WHEN处理:num2不能为0