试图找出%MYSQL,Seperate语句工作正常

时间:2016-09-26 10:40:54

标签: mysql sum rounding percentage divide

我有一个mysql select语句可以正常工作:

SELECT advisor AS advisor, team,        
SUM(time) -  SUM(CASE WHEN `queue` like '%Oth%' THEN time END) as case_time,
Count(distinct date) * 450 - SUM(CASE WHEN `queue` like '%Oth%' THEN time END) as time_av
FROM shift_report 
WHERE `team` = 1 and `date`>'20160701' group by `advisor` order by `advisor` ASC

我想将case_time除以time_av和* 100以获得' actual_time'

的百分比

我尝试了这个,但它不起作用:

round(SUM(time) -  SUM(CASE WHEN `queue` like '%Oth%' THEN time END) / 
Count(distinct date) * 450 - SUM(CASE WHEN `queue` like '%Oth%' THEN time END) * 100, 2)

任何想法??

2 个答案:

答案 0 :(得分:0)

我认为你错过了括号。修改后的SQL请运行并查看。

    select  round( (SUM(time) - SUM(CASE WHEN queue like '%Oth%' THEN time END))/ 
(Count(distinct date) * 450 - SUM(CASE WHEN queue like '%Oth%' THEN time END) * 
100), 2) as result FROM shift_report WHERE team = 1 and date>'20160701'

答案 1 :(得分:0)

这有效:

round((SUM(时间) - SUM(队列如'%Oth%'那么时间结束时))/(计数(不同日期)* 450 - SUM(队列如'%Oth%'那么时间结束))* 100,2)结果