我有一个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)
任何想法??
答案 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)结果