how to get second highest salary from a employee table and
how get a 5th highest salary from a employee table?
Answers were Sorted based on User's Feedback
Answer / pricil kurian
/*sort employee table by salary in desending order */
proc sort data=xx nodupkey;
by descending sal ;
run;
/*outputting the second and 5th largest salary to then yy
dataset */
data yy;
set xx;
if _n_ in (2, 5) then output;
run;
Is This Answer Correct ? | 35 Yes | 13 No |
Proc sql;
Select salary
From
Where salary in (select max
(salary) from
Where salary <(select max
(salary) from
));
Quit;
For second salary
calculation
If salary is not repeted
then
Proc sort data= xxx;
By salary;
Run;
Options firstobs =5;
Proc print data = xxx;
Var salary;
Run;
Is This Answer Correct ? | 4 Yes | 2 No |
Answer / vidit malhotra
/*Proc RANK method*/
proc rank data=paydept out=order descending ties=dense;
var Salary;
ranks SalaryRank;
run;
proc sql;
select Name,Salary,SalaryRank from order where SalaryRank IN (2,5);
quit;
Is This Answer Correct ? | 2 Yes | 0 No |
Answer / poorna m
proc sort data=emp out=emp1 nodupkey;
by descending sal empid;
run;
PROC RANK DATA=emp1 OUT=emp3 TIES=LOW DESCENDING;
VAR sal ;
RANKS highestsal;
RUN;
data emp4;
set emp3;
where highestsal in (2,5);
run;
Is This Answer Correct ? | 1 Yes | 1 No |
Answer / pallavi
proc sort data=xxx;
by descending sal;
run;
proc sql;
select Sal, monotonic() as count
from xxx
having count in(2,5);
quit;
Is This Answer Correct ? | 3 Yes | 6 No |
Answer / richa
It can be done by first sorting the dataset in the
ascending order of salary and then using the 'point='
option.
For eg:
proc sort data = x;
by salary;
quit;
/*second highest salary*/
data y;
a = 2;
set x point = a;
stop;
run;
/*fifth highest salary*/
data y;
a = 5;
set x point = a;
stop;
run;
Is This Answer Correct ? | 6 Yes | 10 No |
Answer / vijay
proc sort data=samp out= samp1 nodupkeys;
by sal descending _all_;
run;
/*second highest salary obs will come into samp2 dataset */
/*for fifth highest salary obs change slice value from 2 to 5 */
data samp2;
slice = 2;
set samp1 point = slice;
output;
stop;
run;
Is This Answer Correct ? | 1 Yes | 7 No |
Answer / beneet kumar pandey
/*second highest salary*/
first select max sal from employee table then select second
max sal from employee table.
Select max(salary) less then(select max(salary) from
employee) from employee;
/*same condition for fifth highest salary*/
Is This Answer Correct ? | 1 Yes | 8 No |
Answer / nandu
proc sort data=samp nodupkeys;
by sal descending ;
run;
data samp1 samp2;
set samp ;
ln+1 ;
if ln=2 then output samp2 ;
else samp ;
run;
/*second highest salary obs will come into samp2 dataset */
Is This Answer Correct ? | 3 Yes | 11 No |
who is the best SAS clinical Trainer in Hyderabad?
what is the use of sas management console? : Sas-di
how many types of MERGE?
sas macros
What makes sas stand out to be the best over other data analytics tools?
describe the interaction table in sas di? : Sas-di
Do you need to rearrange the order of the data for the report?
Which are the statements whose placement in the data step is critical?
Which is the Best SAS training Institute in Delhi NCR for SAS certification preparation
Hi, If anyone has base SAS certification dumps, please share.
what is proc Index? and what is proc document?
what is sas enterprise intelligence architecture? : Sas-bi