SAS--sql
Posted 独孤咕噜犊子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SAS--sql相关的知识,希望对你有一定的参考价值。
proc sql; select empid,jobcode,salary, /*变量用comma隔开*/ salary*.06 as bonus /*创建新变量*/ from sasuser.payrollmaster where salary<32000 order by jobcode; quit; proc sql; select empid,jobcode,salary, salary*.06 as bonus from sasuser.payrollmaster where salary<32000 order by 2 desc, 1 ; *order变量位置,根据jobcode降序,再empid升序; quit; proc sql; select salcomps.empid,lastname, /*两个表有公共列时,必须指定该列的前缀*/ newsals.salary,newsalary from sasuser.salcomps,sasuser.newsals where salcomps.empid=newsals.empid order by lastname; proc sql; select therapy1999.month,walkjogrun,swim, treadmill,newadmit, walkjogrun+swim as Exercise from sasuser.therapy1999,sasuser.totals2000 where therapy1999.month=totals2000.month; /*两个表,变量前一定要加数据集名字*/ quit; proc sql; select membertype, sum(milestraveled) as TotalMiles from sasuser.frequentflyers group by membertype; /*若没有上面的sum,功能和order一样*/ proc sql; select sex, avg(age) as AverageAge, avg(weight) as AverageWeight from sasuser.diabetes group by sex; quit; /*创建sas.dataset*/ proc sql; create table work.miles as select membertype, sum(milestraveled) as TotalMiles from sasuser.frequentflyers group by membertype; proc print data=work.miles; run; proc sql; select jobcode,avg(salary) as Avg from sasuser.payrollmaster group by jobcode having avg(salary)>40000 and avg(salary)<50000 /*和group连用,和where功能一样*/ order by jobcode;
以上是关于SAS--sql的主要内容,如果未能解决你的问题,请参考以下文章