SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 1087|回复: 3
打印 上一主题 下一主题

求助:使用PROC SQL中如何只取某一行??

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2011-6-18 21:56:28 | 只看该作者

求助:使用PROC SQL中如何只取某一行??

如下程序,我想取出表中第一行中的变量
proc sql;
select totalmoney from info
if _n_=1;
quit;
报错

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

请问:该如何在proc sql中实现??
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2011-6-18 22:53:40 | 只看该作者

Re: 求助:使用PROC SQL中如何只取某一行??

为何要用 PROC SQL?

你这种情况应该用DATA 步:

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

[/code:2x5dh47d]

另: 在SQL中,没有if 语句的, 只有where语句用来筛选条件使用。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2011-6-19 05:40:25 | 只看该作者

Re: 求助:使用PROC SQL中如何只取某一行??

同意LS的意见,如果只取某一行,data step更有效.
如果只取第一行.[code:20uvj6xy]proc sql outobs=1;create table b as select * from a;quit;[/code:20uvj6xy]
如果用SQL取某一行,你就要把这行的特点表达出来.
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2011-6-19 10:01:25 | 只看该作者

Re: 求助:使用PROC SQL中如何只取某一行??

如果真要用SQL,可使用如下语句,建议使用inobs 选项

[code:33w1u2im]

proc sql inobs=1; select totalmoney from a;quit;
[/code:33w1u2im]
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-7-3 22:23 , Processed in 0.124719 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表