Glorious007 Ответов: 2

Найдите максимальную и минимальную валовую заработную плату


Как можно узнать отдел мудро каждое обозначение maximum GS и Minimum GS с empid.

Что я уже пробовал:

select A.EmpID,A.EmpName,B.DeptName,A.DeptId,D.DesigName,A.DesigID, GS from tblEmp_Info AS A
inner join tblCat_Department AS B ON A.DeptId=B.DeptID 
inner join tblCat_Desig AS D ON A.DesigId=D.DesigId
where IsInactive=0 and A.DeptId=4
order by A.deptid,A.desigid,GS desc


это мой код базы данных, вот показать все gs (валовая зарплата) с максимумом до минимума.но я хочу только отдел мудрый каждое обозначение miximum и minimun GS с empid. пожалуйста, помогите мне как можно скорее.

2 Ответов

Рейтинг:
20

Maciej Los

Проверить это: sql-самая высокая зарплата в каждом отделе - переполнение стека[^]

Вы должны изменить его в соответствии с вашими потребностями:

WITH cteRowNum AS (
    SELECT DeptID, EmpName, Salary,
           DENSE_RANK() OVER(PARTITION BY DeptID ORDER BY Salary DESC) AS RowNum
        FROM EmpDetails
)
SELECT DeptID, EmpName, Salary
    FROM cteRowNum
    WHERE RowNum = 1;


Glorious007

Оооо приятно!
я понял

С cteRowNum как (
Выберите B. DeptName,А. DeptID,Д. DesigName,desigid А., столбец empname, ОО,
DENSE_RANK() над(раздел А. порядок Desigid ПО ОО по убыванию) как параметр rownum
Из tblEmp_Info в виде
внутреннее соединение tblCat_Department как B на A. DeptId=B. DeptID
внутреннее соединение tblCat_Desig как D на A. DesigId=D. DesigId
где A. DeptId=4 и A. IsInactive=0
)
Выберите DeptName, DesigName, EmpName, GS
Из ктероунама
Где RowNum = 1;

Maciej Los

Всегда пожалуйста!
Овации,
Мацей

Рейтинг:
2

Ramesh Kumar Barik

Используйте агрегатную функцию с предложением group by для выбранных столбцов,которые вы хотите получить.

выберите B. DeptName,А. DeptId,Д. DesigName,А. DesigID, максимум(ГС) как MaxSal,мин(ГС) качестве сайт minsal от tblEmp_Info как
внутреннее соединение tblCat_Department как B на A. DeptId=B. DeptID
внутреннее соединение tblCat_Desig как D на A. DesigId=D. DesigId
где IsInactive=0 и A. DeptId=4
группа Б. DeptName,А. DeptId,Д. DesigName,А. DesigID,ОО
заказ от A. deptid, A. desigid,GS desc


Glorious007

я вижу, что здесь MaxSal и MinSal column - это одно и то же шоу. мне нужен индивидуальный максимальный и минимальный код.
например: empid DeptName designame gs
5 Одежд Задницу.Инженер 20,000(Макс)
200 Одежды Старший Инженер 30 000 (Макс.)

empid DeptName designame gs
20 Предметов Одежды Ass. Enginer 7000 (Мин)
45 Швейных Изделий Инженер-Старший 12,000(Мин)

Ramesh Kumar Barik

Имеет ли один сотрудник несколько назначений?
Можете ли вы поделиться некоторыми данными ваших таблиц в scree shot?

Glorious007

один идентификатор для одного обозначения, вот группа отдел и обозначение
здесь я не могу показать снимок экрана. пожалуйста, дайте мне свой электронный идентификатор.

Glorious007

а теперь реши мою проблему. Большое-Большое Спасибо Рамеш Кумар Барик .

С cteRowNum как (
Выберите B. DeptName,А. DeptID,Д. DesigName,desigid А., столбец empname, ОО,
DENSE_RANK() над(раздел А. порядок Desigid ПО ОО по убыванию) как параметр rownum
Из tblEmp_Info в виде
внутреннее соединение tblCat_Department как B на A. DeptId=B. DeptID
внутреннее соединение tblCat_Desig как D на A. DesigId=D. DesigId
где A. DeptId=4 и A. IsInactive=0
)
Выберите DeptName, DesigName, EmpName, GS
Из ктероунама
Где RowNum = 1;

Ramesh Kumar Barik

Хорошо знать, что проблема решена.. :)