SAS中文论坛

标题: 求助:使用PROC SQL中如何只取某一行?? [打印本页]

作者: shiyiming    时间: 2011-6-18 21:56
标题: 求助:使用PROC SQL中如何只取某一行??
如下程序,我想取出表中第一行中的变量
proc sql;
select totalmoney from info
if _n_=1;
quit;
报错

在data步中可以使用使用_n_的
但是在proc sql步中却报错

请问:该如何在proc sql中实现??
作者: shiyiming    时间: 2011-6-18 22:53
标题: Re: 求助:使用PROC SQL中如何只取某一行??
为何要用 PROC SQL?

你这种情况应该用DATA 步:

[code:2x5dh47d]
data _null_;
   set info;
   if _n_=1;
   put    totalmoney =;
run;

[/code:2x5dh47d]

另: 在SQL中,没有if 语句的, 只有where语句用来筛选条件使用。
作者: shiyiming    时间: 2011-6-19 05:40
标题: Re: 求助:使用PROC SQL中如何只取某一行??
同意LS的意见,如果只取某一行,data step更有效.
如果只取第一行.[code:20uvj6xy]proc sql outobs=1;create table b as select * from a;quit;[/code:20uvj6xy]
如果用SQL取某一行,你就要把这行的特点表达出来.
作者: shiyiming    时间: 2011-6-19 10:01
标题: Re: 求助:使用PROC SQL中如何只取某一行??
如果真要用SQL,可使用如下语句,建议使用inobs 选项

[code:33w1u2im]

proc sql inobs=1; select totalmoney from a;quit;
[/code:33w1u2im]




欢迎光临 SAS中文论坛 (http://www.mysas.net/forum/) Powered by Discuz! X3.2