Monday, November 23, 2020

Median Employee Salary

 Create table If Not Exists Employee (Id int, Company varchar(255), Salary int);

Truncate table Employee;

insert into Employee (Id, Company, Salary) values ('1', 'A', '2341');

insert into Employee (Id, Company, Salary) values ('2', 'A', '341');

insert into Employee (Id, Company, Salary) values ('3', 'A', '15');

insert into Employee (Id, Company, Salary) values ('4', 'A', '15314');

insert into Employee (Id, Company, Salary) values ('5', 'A', '451');

insert into Employee (Id, Company, Salary) values ('6', 'A', '513');

insert into Employee (Id, Company, Salary) values ('7', 'B', '15');

insert into Employee (Id, Company, Salary) values ('8', 'B', '13');

insert into Employee (Id, Company, Salary) values ('9', 'B', '1154');

insert into Employee (Id, Company, Salary) values ('10', 'B', '1345');

insert into Employee (Id, Company, Salary) values ('11', 'B', '1221');

insert into Employee (Id, Company, Salary) values ('12', 'B', '234');

insert into Employee (Id, Company, Salary) values ('13', 'C', '2345');

insert into Employee (Id, Company, Salary) values ('14', 'C', '2645');

insert into Employee (Id, Company, Salary) values ('15', 'C', '2645');

insert into Employee (Id, Company, Salary) values ('16', 'C', '2652');

insert into Employee (Id, Company, Salary) values ('17', 'C', '65');





with cte as(

select Id,Company,salary 

,ROW_NUMBER() over(partition by Company order by salary) as rnk

,count(*) over(partition by Company) as cnt

from Employee

)select Id,Company,salary,rnk,cnt,CEILING(cnt/2.0),cnt/2+1 from cte

where rnk in (CEILING(cnt/2.0),cnt/2+1)

No comments:

Post a Comment

Find the Subtasks That Did Not Execute Leetcode

 with recursive CTE as ( SELECT task_id,subtasks_count,1 as result FROM Tasks UNION ALL SELECT CTE.task_id,subtasks_count,result+1 FROM CTE ...