Vol*_*vox 2 sql max sql-server-2008
我不能让这个工作.我需要先找到假期和病假的最大总和,然后找出哪些员工的假期和病假时间总和.我可以获得168最大值,但不管我如何安排事情,我似乎无法获得符合此标准的员工 - 我只是获得所有员工的完整列表.以下代码是基于班级指导的最后一次尝试.谢谢!
SELECT e.employeeID, SUM(e.vacationhours + e.sickleavehours) AS maxHours
FROM humanresources.employee e
WHERE EXISTS (
SELECT SUM(e.vacationhours + e.sickleavehours) AS totalhours
FROM humanresources.employee e)
GROUP BY e.employeeID
Run Code Online (Sandbox Code Playgroud)
TOP WITH TIES 简化了这个问题......
如果您只想要一个拥有最大总数的员工列表...您只需按总和排序,然后选择前1,包括任何关系,以便它返回具有最大值的所有员工:
SELECT TOP 1 WITH TIES
e.employeeID,
SUM(e.vacationhours + e.sickleavehours) AS totalHours
FROM humanresources.employee e
GROUP BY e.employeeID
ORDER BY totalHours DESC;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
738 次 |
| 最近记录: |