楼主: Casey_
2927 11

[实际应用] 用sql求日期最晚的某些记录!!我这样做不对!!那怎样才对呀!! [推广有奖]

  • 0关注
  • 0粉丝

初中生

90%

还不是VIP/贵宾

-

威望
0
论坛币
29 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2084 点
帖子
11
精华
0
在线时间
23 小时
注册时间
2017-3-20
最后登录
2018-5-4

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
proc sql;
create table cc.test1 as
select distinct a.loan_id,a.date,max(b.date) as tran_date,a.amount,avg(b.balance) as avg_balance
from cc.loans as a,cc.trans as b
where a.account_id=b.account_id
order by a.loan_id;
quit;


需要联立cc.loans  和cc.trans,然后需要找出最晚的b.date.我就是不知道该怎么找。
上面的代码是我写的,但是输出后对于所有的loan_id,tran_date和avg_balance都是一样的。
求大神教导正确的应该怎么做!!谢谢!!非常感谢!!
想不出来的感觉真的好难受啊!!!
二维码

扫码加我 拉你入群

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

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

关键词:sql proc sql Distinct balance Account 记录

沙发
l1i2n3i4n5g 在职认证  发表于 2017-3-29 09:07:04 |只看作者 |坛友微信交流群
select后面加个unique试试看

使用道具

藤椅
lovexialulu 发表于 2017-3-29 11:23:26 |只看作者 |坛友微信交流群
我觉的 你少个date ,看cc.loans 有没有日期变量 和cc.trans求到的 max date是一致的
  1. /*find the max date each id*/
  2. proc sql;
  3. create table maxdate as
  4. select distinct account_id,max(date) as tran_date,avg(balance) as avg_balance
  5. from cc.trans as b
  6. group by account_id
  7. order by account_id;
  8. /*left jion maxdate by id date*/
  9. create table want as select a.*,b.account_id,b.avg_balance,b.tran_date  from cc.loans a
  10. left join maxdate b on a.account_id=b.account_id and a.date=b.tran_date;

  11. quit;
复制代码

使用道具

板凳
Casey_ 发表于 2017-3-29 13:29:29 |只看作者 |坛友微信交流群
l1i2n3i4n5g 发表于 2017-3-29 09:07
select后面加个unique试试看
还是不行

使用道具

报纸
Casey_ 发表于 2017-3-29 13:32:28 |只看作者 |坛友微信交流群
lovexialulu 发表于 2017-3-29 11:23
我觉的 你少个date ,看cc.loans 有没有日期变量 和cc.trans求到的 max date是一致的
好哒,谢谢,我试试!

使用道具

地板
Casey_ 发表于 2017-3-29 13:36:59 |只看作者 |坛友微信交流群
lovexialulu 发表于 2017-3-29 11:23
我觉的 你少个date ,看cc.loans 有没有日期变量 和cc.trans求到的 max date是一致的
仍然不行

使用道具

7
lovexialulu 发表于 2017-3-29 15:20:43 |只看作者 |坛友微信交流群
Casey_ 发表于 2017-3-29 13:36
仍然不行
有点小的update,用inner join 代替left jion  ,要 if a and b;这种模式

使用道具

8
xiehu156 在职认证  发表于 2017-3-30 08:26:34 |只看作者 |坛友微信交流群
要不要group by a.loan_id,a.date,a.amount试试

使用道具

9
阳光的静好 发表于 2017-3-30 09:38:06 |只看作者 |坛友微信交流群
如果把原始的表简单的列一下,再列一下需要出来的结果,相信给结果的人会多一点……

使用道具

10
正负号 发表于 2017-3-30 10:18:40 |只看作者 |坛友微信交流群
信息不全啊,建议给出涉及的源表的基本结构,还有date字段的格式(我假设是系统默认的yyyy-mm-dd hh:mm:ss)

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 08:39