-7
如何找到每個部門的最高指定員工?在單個查詢中選擇每個部門的TOP指定員工
我有這樣的表和值:
CREATE TABLE [dbo].[#deptartment]
(
[emp_id] [INT] IDENTITY(1, 1) NOT NULL,
[dept_name] [VARCHAR](100) NULL,
[emp_name] [VARCHAR](50) NULL ,
[desig] [VARCHAR](100) NULL
)
ON [PRIMARY]
GO
INSERT INTO #deptartment VALUES ('IT','JAFFERY','DIRECTOR')
INSERT INTO #deptartment VALUES ('DEVELOPMENT','CORBIT','PROGRAMMER')
INSERT INTO #deptartment VALUES ('DEVELOPMENT','CHANDRA','DBA')
INSERT INTO #deptartment VALUES ('IT','KEVIN','MANAGER')
INSERT INTO #deptartment VALUES ('IT','ROBERT','SUPERVISOR')
INSERT INTO #deptartment VALUES ('QA','NOMAN','ANALYST')
INSERT INTO #deptartment VALUES ('ADMIN','CORE','RECEPTIONIST')
INSERT INTO #deptartment VALUES ('QA','MADDEN','ANALYST')
INSERT INTO #deptartment VALUES ('IT','NORRIS','TECHNICIAN')
INSERT INTO #deptartment VALUES ('ADMIN','PATRICK','CLERK')
INSERT INTO #deptartment VALUES ('DATA','SONJA','SUPERVISOR')
INSERT INTO #deptartment VALUES ('QA','GEORGE','MANAGER')
INSERT INTO #deptartment VALUES ('ADMIN','EMILLY','MANAGER')
INSERT INTO #deptartment VALUES ('QA','PATRICK','TESTER')
INSERT INTO #deptartment VALUES ('DEVELOPMENT','ABDUL','MANAGER')
INSERT INTO #deptartment VALUES ('DATA','PATRICK','CLERK')
INSERT INTO #deptartment VALUES ('ADMIN','GEORGE','CLERK')
INSERT INTO #deptartment VALUES ('DEVELOPMENT','YURIY','SUPERVISOR')
INSERT INTO #deptartment VALUES ('DATA','GRAHAM','OPERATOR')
這裏是我試過查詢:
SELECT D1.dept_name, D1.desig,
RANK() OVER(Partition BY D1.DESIG ORDER BY D1.dept_name,D1.DESIG
DESC)
AS RANKNUMBER
FROM #deptartment D1 GROUP BY D1.desig, D1.dept_name
ORDER BY RANKNUMBER DESC
每個唯一值,請刪除您的文章的CAPS,這不是讓下一個關注 – Tanner
的方式,請告訴我們你爲自己回答這個問題所做的努力。我們不在這裏爲您編寫代碼,但我們將幫助您解決您嘗試自行解決問題時遇到的問題。 – Tanner
您需要明確指定哪個角色高於其他每個部門。例如'DBA'和'PROGRAMMER'是否相等? – lad2025