-7
部門ごとに指定された従業員を探すにはどうすればいいですか?1つのクエリで部門ごとに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
の一意の各値のためにそれらのすべてを一覧表示するようにしてください、それは次の注意 – Tanner
を取得する方法はありませんが、私たちをご提示くださいあなた自身でこの質問に答える努力をしています。私たちはあなたのコードを書くためのものではありませんが、自分で解決しようとしている問題を解決するのに役立ちます。 – Tanner
部門ごとの他の役割よりも高い役割を明確に指定する必要があります。たとえば、 'DBA'と' PROGRAMMER'は同じですか? – lad2025