SQL-输出得分范围括号内的平均满意度/晋升次数
到目前为止,我已经开发了一个查询,以输出分数范围内每个员工的计数(从评估表中得出的评估分数)。我正在努力弄清楚如何对输出的这些员工范围执行数学函数。有必要从我的员工表中提取信息,以统计最近5年/不到5年的晋升人数以及满意度水平。在有关范围的查询下方找到附件SQL-输出得分范围括号内的平均满意度/晋升次数,sql,Sql,到目前为止,我已经开发了一个查询,以输出分数范围内每个员工的计数(从评估表中得出的评估分数)。我正在努力弄清楚如何对输出的这些员工范围执行数学函数。有必要从我的员工表中提取信息,以统计最近5年/不到5年的晋升人数以及满意度水平。在有关范围的查询下方找到附件 SELECT t.range AS [0-1], count(Employee_ID) AS [Number of Employees] FROM ( SELECT CASE WHEN score BETWEEN 0 AND 0.25 TH
SELECT t.range AS [0-1], count(Employee_ID) AS [Number of Employees]
FROM (
SELECT CASE
WHEN score BETWEEN 0 AND 0.25 THEN ‘0-0.25’
WHEN score BETWEEN 0.25 AND 0.5 THEN ‘0.25-0.5’
WHEN score BETWEEN 0.5 AND 0.75 THEN ‘0.5-0.75’
WHEN score BETWEEN 0.75 AND 1 THEN ‘0.75-1’
FROM Evaluation)
GROUP BY t.range;
这就是你想做的吗
SELECT CASE
WHEN score BETWEEN 0 AND 0.25 THEN ‘0-0.25’
WHEN score BETWEEN 0.25 AND 0.5 THEN ‘0.25-0.5’
WHEN score BETWEEN 0.5 AND 0.75 THEN ‘0.5-0.75’
WHEN score BETWEEN 0.75 AND 1 THEN ‘0.75-1’ end AS range,
count(Employee_ID) AS [Number of Employees]
FROM Evaluation
GROUP BY CASE
WHEN score BETWEEN 0 AND 0.25 THEN ‘0-0.25’
WHEN score BETWEEN 0.25 AND 0.5 THEN ‘0.25-0.5’
WHEN score BETWEEN 0.5 AND 0.75 THEN ‘0.5-0.75’
WHEN score BETWEEN 0.75 AND 1 THEN ‘0.75-1’ end
您正在使用子查询,所以请继续使用它。您只需要正确的别名:
SELECT e.range AS [0-1], count(*) AS [Number of Employees]
FROM (SELECT (CASE WHEN score BETWEEN 0 AND 0.25 THEN '0-0.25'
WHEN score BETWEEN 0.25 AND 0.5 THEN '0.25-0.5'
WHEN score BETWEEN 0.5 AND 0.75 THEN '0.5-0.75'
WHEN score BETWEEN 0.75 AND 1 THEN '0.75-1'
END) as range
FROM Evaluation
) e
GROUP BY e.range;
注:
- 子查询需要一个别名。我用“e”表示“评估”
- 卷曲单引号必须是直单引号(这可能是剪切粘贴问题)
未在外部查询中定义。我认为EmployeeId
可能是等效的COUNT(*)