【发布时间】:2017-02-13 13:50:20
【问题描述】:
T-SQL 查询:
SELECT
RESULT.Year AS 'Year',
RESULT.Month AS 'Month',
RESULT.EmployeeNumber,
RESULT.StartedWorking,
RESULT.SeperatedWorking,
(AVG(RESULT.SeperatedWorking / RESULT.EmployeeNumber * 100)) AS ConversionRate
FROM (
SELECT
YEAR(CreatedAt) AS 'Year',
12 AS 'Month',
COUNT(*) AS 'EmployeeNumber',
COUNT(EmploymentStartDate) AS 'StartedWorking',
COUNT(EmploymentEndDate) AS 'SeperatedWorking'
FROM Employees
WHERE IsDeleted = 0
GROUP BY
YEAR(CreatedAt)
) AS RESULT
问题:
我正在尝试将以下公式用于 ConversionRate 列
COUNT(EmploymentEndDate) / COUNT(EmploymentStartDate) * 100
我正在选择下面的查询以获得如下结果
(AVG(RESULT.SeperatedWorking / RESULT.EmployeeNumber * 100)) AS ConversionRate
此查询显示在错误 AS 下方
"Column 'RESULT.Year' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
"
如何通过对“ConversionRate”列使用 AVG 来获得正确的结果?
【问题讨论】:
标签: sql-server average