0
我有2代表持有Empolyee和Office數據:如何獲得一個類別的最大數量?
EMPLOYEE (EmpID, Role, OfficeNumber)
OFFICE (OfficeNumber, Region, Manager)
員工可以在不同的角色多個辦公室進行登記。
例如員工下方是2個辦事處(20 & 50)註冊,但在辦公室的20多個項目,所以我們要選擇的是他的「家」辦公室
EmpID | Role | Region | Manager | OfficeNumber
15 | 1 | East | James | 20
15 | 4 | East | James | 20
15 | 5 | East | James | 20
15 | 1 | West | George | 50
15 | 5 | West | George | 50
基本上,我想哪個職位員工是在最該區域註冊的計數,然後返回經理爲辦公..
因此,對於以上員工爲他們的「家庭辦公室」的結果將是:
EmpID | Region | Manager | OfficeNumber
15 | East | James | 20
這是我放在一起的SQL。
SELECT
EmpID, Manager, Region,
Count (OfficeNumber),
Row_Number(Partition by EmpID ORDER by
Count(OfficeNumber) Desc)
FROM
Employees e
JOIN
Offices o ON e.OfficeNumber = o.OfficeNumber
不知道我是否正確使用Row_Number函數或是否會有更好的方法?
如果empid 15恰好有3個記錄的第20和50位,會發生什麼?什麼是empid 15的總部? – zedfoxus
我沒有想到這種情況:/你知道一個案例陳述是否可行嗎? – Swazzy
當需求已知時,'CASE'語句將有所幫助。我的問題試圖找到在描述的情況下應該顯示的內容。根據您的需求,我們可以確定需要哪些聲明。另外,你用MySQL標記了這個問題。這個問題是用SQL Server標籤編輯的。你真的在使用哪個數據庫 - MySQL還是SQL Server或其他? – zedfoxus