我不能得到這個工作。 我需要首先找到假期和病假小時的最大總和,然後找到哪些員工有這個價值的假期和病假小時數。我可以得到最高168,但無論我如何安排事情,我似乎都無法得到符合這一標準的員工 - 我只是得到所有員工的完整列表。下面的代碼是最後一次嘗試,根據班級的方向。謝謝!SQL找到最大值然後找到它的發生
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
這與我在想的相似......但我認爲'having'中的子查詢必須是'employee'的'sum'的最大值'...這讓我想到使用cte刪除重複...然後消除對'有'條款的需要...這使我懷疑到底是什麼老師試圖引出的問題... – 2012-04-13 17:51:59
謝謝!這就是我要做的 - 實際上剛剛發現了它。我離開了作爲一個簡單的最大函數的第二部分,我假設然後將總和和最大值等同於同一行,從而每次都得到我的整個員工表。 – Volvox 2012-04-13 17:52:49
@VOlvox,邁克爾是絕對正確的。我剛剛更新了答案。現在它應該是防彈的:)謝謝邁克爾:) – 2012-04-13 17:55:45