尝试计算 % MYSQL,单独的语句工作正常
Trying to work out % MYSQL, Seperate statements work ok
我有一个 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)
有什么想法吗??
我想你漏掉了括号。已修改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'
这有效:
round( (SUM(time) - SUM(CASE WHEN queue like '%Oth%' THEN time END))/ (Count(distinct date) * 450 - SUM(CASE WHEN queue like '%Oth%'然后时间结束)) * 100, 2) 作为结果
我有一个 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)
有什么想法吗??
我想你漏掉了括号。已修改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'
这有效:
round( (SUM(time) - SUM(CASE WHEN queue like '%Oth%' THEN time END))/ (Count(distinct date) * 450 - SUM(CASE WHEN queue like '%Oth%'然后时间结束)) * 100, 2) 作为结果