楼主: mengqinqing
4467 5

从一个数据库中选择有多条记录的数据 [推广有奖]

  • 8关注
  • 6粉丝

已卖:1份资源

讲师

94%

还不是VIP/贵宾

-

威望
0
论坛币
64351 个
通用积分
8.0217
学术水平
7 点
热心指数
5 点
信用等级
4 点
经验
21974 点
帖子
468
精华
0
在线时间
650 小时
注册时间
2007-11-24
最后登录
2025-6-4
毕业学校
中山大学

楼主
mengqinqing 发表于 2016-3-14 22:24:38 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
各位大侠,我有一个dataset,里面有的人有1条记录,有的有多条记录,每个人的id是唯一的。还有一个变量index记录了这个人从1条到多条记录的顺序,现在我想把多条记录的人都导出来,不知道可否用SQL select实现?附件是数据。如果根据某个指标在一个人多条记录中选择有1条满足要求的,又该怎么写code呢?谢谢了!


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:多条记录 数据库 dataset Select DataS 数据库 记录

data.xls
下载链接: https://bbs.pinggu.org/a-1991216.html

36 KB

数据集

用自己的力量站在自己的位置

沙发
Dany2 发表于 2016-3-14 22:43:18 来自手机
proc freq data=yourdata nlevels;
Tables Id/ out=tmp_data_freq;
Run;

Data data_freq;
Set tmp_data_freq;
Where counts >1;
Run;

Proc sort data=data_freq;
By id;
Run;

Proc sort data=yourdata;
By id;
Run;

Data final;
Merge data_freq(in=a keep=Id) yourdata(in=b);
By id;
If a;
Run;

如果用sql,第三四五段用以下代码替代
Proc sql;
Create table final as
Select *
From yourdata
Where id in(select id from data_freq);
Quit;


这样就能将多条记录的人导出来

藤椅
mengqinqing 发表于 2016-3-14 22:58:55
Dany2 发表于 2016-3-14 22:43
proc freq data=yourdata nlevels;
Tables Id/ out=tmp_data_freq;
Run;
第二种方法正是我想学习的,非常感谢!

板凳
Dany2 发表于 2016-3-15 00:16:55 来自手机
mengqinqing 发表于 2016-3-14 22:58
第二种方法正是我想学习的,非常感谢!
其实就是子查询

报纸
teqel 发表于 2016-3-15 01:25:27
proc sql;
select * from A group by id having count(*)>1;
quit;

地板
teqel 发表于 2016-3-15 01:27:03
proc sql;
select * from
(select * from A group by id having count(*)>1)
where index=1;
quit;

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-8 05:37