的最大數目我有一個表的員工查找部門有員工
id name dept
1 bucky shp
2 name shp
3 other mrk
我怎樣才能讓員工的最大數目的部門(或多個)的名字? ..
我需要導致
dept
--------
shp
的最大數目我有一個表的員工查找部門有員工
id name dept
1 bucky shp
2 name shp
3 other mrk
我怎樣才能讓員工的最大數目的部門(或多個)的名字? ..
我需要導致
dept
--------
shp
假設你正在使用SQL Server和代表僱員的每個記錄。所以,你可以使用窗口函數來得到結果
WITH C AS (
SELECT RANK() OVER (ORDER BY dept) Rnk
,name
,dept
FROM table
)
SELECT TOP 1 dept FROM
(SELECT COUNT(Rnk) cnt, dept FROM C GROUP BY dept) t
ORDER BY cnt DESC
與普通表表達式,計算每個部門的行數,然後找到最大的數,然後用它來選擇最大的部門。
WITH depts(dept, size) AS (
SELECT dept, COUNT(*) FROM employee GROUP BY dept
), biggest(size) AS (
SELECT MAX(size) FROM depts
)
SELECT dept FROM depts, biggest WHERE depts.size = biggest.size
SELECT cnt,deptno FROM (
SELECT rank() OVER (ORDER BY cnt desc) AS rnk,cnt,deptno from
(SELECT COUNT(*) cnt, DEPTNO FROM EMP
GROUP BY deptno))
WHERE rnk = 1;
與其粘貼答案,不如解釋您爲什麼要提出此解決方案,以便用戶瞭解如何獨立完成此操作。 – creeperspeak 2018-01-10 18:37:09
在哪裏存儲每個部門員工的數量?你的問題並不清楚。 – 2015-03-03 01:11:55
這是一張員工表。帶有員工編號名稱。和部門員工正在工作。 – 2015-03-03 01:20:15