T-SQL to Query to retrieve the Minimum and Maximum Salary drawing Employee Details by Department
Scenario :
Suppose we have the Employee Table and a Department Table as follows, from which we want Query the following details.
1) The details of the Employees who are drawing Highest/Maximum and Lowest/Minimum Salary.
2) The details of the Employees who are drawing Highest/Maximum and Lowest/Minimum Salary by Department.
Select * From Tbl_Emp
Scenario :
Suppose we have the Employee Table and a Department Table as follows, from which we want Query the following details.
1) The details of the Employees who are drawing Highest/Maximum and Lowest/Minimum Salary.
2) The details of the Employees who are drawing Highest/Maximum and Lowest/Minimum Salary by Department.
Select * From Tbl_Emp
Select * From Tbl_Dept
1) Query to retrieve the details of the Employees who are drawing Highest/Maximum and Lowest/Minimum Salary.
With MyCTE AS
(
Select S1.RowNum, S1.Emp_Id,S1.EmpName, D.DeptName,S1.NetSal
From
(
Select ROW_NUMBER() OVER ( Order By NetSal ) as RowNum,
* From Tbl_Emp
)
S1 Inner Join Tbl_Dept D
On S1.Dept_Id=D.DeptId
)
Select Emp_Id,EmpName,DeptName,NetSal From MyCTE
Where RowNum = (Select Min(RowNum) from MyCTE)
OR RowNum = (Select Max(RowNum) from MyCTE)
;
Result:
Please note that this result shows the Employees who are drawing Maximum and Minimum Salary out of all Employees of all Departments.
2) Query to retrieve the details of the Employees who are drawing Highest/Maximum and Lowest/Minimum Salary by Department.
With MyCTE AS
(
Select S1.RowNum, S1.Emp_Id,S1.EmpName, D.DeptName,S1.NetSal
From
(
Select ROW_NUMBER() OVER ( PARTITION BY Dept_Id Order By NetSal ) as RowNum, * From Tbl_Emp
)
S1 Inner Join Tbl_Dept D
On S1.Dept_Id=D.DeptId
)
Select Emp_Id,EmpName,DeptName,NetSal From MyCTE
Where RowNum IN (Select Min(RowNum) from MyCTE Group By DeptName)
OR RowNum IN (Select Max(RowNum) from MyCTE Group By DeptName)
;
Result:
Note:
Here I used the Common Table Expressions(CTEs) method to handle the Scenario. You achieve the same using different Methods as well.
Here I used the Common Table Expressions(CTEs) method to handle the Scenario. You achieve the same using different Methods as well.
--------------------------------------------------------------------------------------------------------
Thanks, TAMATAM ; Business Intelligence & Analytics Professional
--------------------------------------------------------------------------------------------------------
Thanks, TAMATAM ; Business Intelligence & Analytics Professional
--------------------------------------------------------------------------------------------------------
No comments:
Post a Comment
Hi User, Thank You for visiting My Blog. Please post your genuine Feedback or comments only related to this Blog Posts. Please do not post any Spam comments or Advertising kind of comments which will be Ignored.