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 |
Assuming {et} is randomly drawn from N(0,1) and e0 = 0, generate 200 observations of xt = et − 0.5e(t−1) and draw a line graph of xt.
We have a string like this "kannafromsalembut" ,from this i want to get only "fromsal" (but one condition with out using substring function)here we can not use scan because in the given string there is no delimeter? so give ans without out using substring ?
what is scheduling and how will u implement it. In scheduling 5 jobs r running if there is an error occured at 3rd job and how will u check and waht necessary steps will u take not to repeat the same mistake
what is ae onset date n what is RDS
what is the use of proc contents and proc print in sas? : Sas-administrator
What are the different types of sas functions?
What statement do you code to write the record to the file?
Write a SAS macro to calculate number of numbers in an email address
What is Transaction...? And what are Comment, Roll back n Save point..?
Differentiate between sas functions and sas procedures.
What is the good sas programming practices for processing large data sets?
what is the usage for assigning error=1 in a dataset ?