Return 以百分比表示的聚合函数
Return an aggregate function as a percentage
我目前正在尝试 return 一系列聚合函数作为百分比。有人对如何操作有任何建议吗?
下面是SQL。
SELECT
et.Term
,count(et.employeeid) as 'Total Enrolled'
,sum(et.retained) as 'Retained'
,sum(et.EnrollButSwitchedDept) as 'EnrollButSwitched'
,sum(et.NotEnrolled) as 'Not Enrolled'
,sum(et.Graduated) as 'Graduated'
--,CAST(sum(et.retained))*100.0 as 'Retained %'
,CAST (((sum(et.retained))*100.0)/(((count (et.EmployeeID)))) as Numeric(10,2) as 'Retained %'
FROM #EnrollmentTypes et
WHERE 1 = 1
GROUP BY et.Term
截至目前,我收到以下错误。
Incorrect syntax near 'CAST', expected 'AS'.
如果去掉一些不必要的括号,就可以更容易地看到其余的应该放在哪里。应该有效的更正查询:
SELECT
et.Term
,COUNT(et.employeeid) AS 'Total Enrolled'
,SUM(et.retained) AS 'Retained'
,SUM(et.EnrollButSwitchedDept) AS 'EnrollButSwitched'
,SUM(et.NotEnrolled) AS 'Not Enrolled'
,SUM(et.Graduated) AS 'Graduated'
,CAST(SUM(et.retained) * 100.0 / COUNT(et.EmployeeID) AS NUMERIC(10,2)) AS 'Retained %'
FROM #EnrollmentTypes et
WHERE 1 = 1
GROUP BY et.Term
我目前正在尝试 return 一系列聚合函数作为百分比。有人对如何操作有任何建议吗?
下面是SQL。
SELECT
et.Term
,count(et.employeeid) as 'Total Enrolled'
,sum(et.retained) as 'Retained'
,sum(et.EnrollButSwitchedDept) as 'EnrollButSwitched'
,sum(et.NotEnrolled) as 'Not Enrolled'
,sum(et.Graduated) as 'Graduated'
--,CAST(sum(et.retained))*100.0 as 'Retained %'
,CAST (((sum(et.retained))*100.0)/(((count (et.EmployeeID)))) as Numeric(10,2) as 'Retained %'
FROM #EnrollmentTypes et
WHERE 1 = 1
GROUP BY et.Term
截至目前,我收到以下错误。
Incorrect syntax near 'CAST', expected 'AS'.
如果去掉一些不必要的括号,就可以更容易地看到其余的应该放在哪里。应该有效的更正查询:
SELECT
et.Term
,COUNT(et.employeeid) AS 'Total Enrolled'
,SUM(et.retained) AS 'Retained'
,SUM(et.EnrollButSwitchedDept) AS 'EnrollButSwitched'
,SUM(et.NotEnrolled) AS 'Not Enrolled'
,SUM(et.Graduated) AS 'Graduated'
,CAST(SUM(et.retained) * 100.0 / COUNT(et.EmployeeID) AS NUMERIC(10,2)) AS 'Retained %'
FROM #EnrollmentTypes et
WHERE 1 = 1
GROUP BY et.Term