SELECT Agegroup, Attrition, Attrition / (SELECT Count(Attrition) FROM project1.employee) * 100 as Attrition_rate
from (SELECT Agegroup, Count(*) as Attrition
FROM(Select
CASE
WHEN age BETWEEN 0 AND 20 THEN '<20'
WHEN age BETWEEN 20 AND 29 THEN '20-29'
WHEN age BETWEEN 30 AND 39 THEN '30-40'
WHEN age BETWEEN 40 AND 49 THEN '40-50'
WHEN age BETWEEN 50 AND 100 THEN 'Greater than 50'
ELSE 'not specified'
END AS Agegroup
FROM project1.employee
Where Attrition = TRUE) AS T
GROUP BY Agegroup) AS TT
ORDER BY Agegroup;
这将返回零结果,但是当我在BigQuery中使用WITH子句时,它工作得很好。WITH子句在MySQL工作台中不起作用
1条答案
按热度按时间r7s23pms1#
MySQL和BigQuery都允许
with
子句。也许你的数据在这些系统中是不同的?请提供MySQL版本详细信息。请考虑对
over
使用Windows函数,而不是嵌套查询。在BiqQuery中测试: