3084 2

[问答] 求问sas sql 中min的问题 [推广有奖]

  • 5关注
  • 0粉丝

本科生

83%

还不是VIP/贵宾

-

威望
0
论坛币
8 个
通用积分
0
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
991 点
帖子
87
精华
0
在线时间
67 小时
注册时间
2015-4-21
最后登录
2016-4-12

楼主
小琪是豆豆猪 发表于 2016-2-22 11:28:11 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
Capture.PNG

要做一个a3 列,,这一列是取last列 和 a2-1 列的最小值 a2的缺失值不算

自己写了一段
没有成功

sql.PNG

用case when 写么

求教!!

二维码

扫码加我 拉你入群

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

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

关键词:Min sql Case Last when

沙发
sqlai 发表于 2016-2-22 20:51:22
sql中的汇总函数,sum, max,min, avg之类,都是默认不包括缺失值的。也就是
  1. min(203 , . )=203
复制代码

所以,直接写成如下即可
  1. min(last, a2-1) as a3
复制代码
如果讲究一点,可以使用coalesce函数给存在缺失值的变量赋一个替代值,coalesce(last, 9999) as last_new,然后再使用min函数,即
  1. proc sql;
  2. create table res as
  3. select *, coalesce(last, 9999) as last_new
  4.            , min(last_new, a2-1) as a3
  5. from table test;
  6. quit;
复制代码


已有 1 人评分学术水平 热心指数 信用等级 收起 理由
teqel + 2 + 2 + 2 精彩帖子

总评分: 学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

change is easy, improvement is difficult

藤椅
小琪是豆豆猪 发表于 2016-2-23 10:29:19
sqlai 发表于 2016-2-22 20:51
sql中的汇总函数,sum, max,min, avg之类,都是默认不包括缺失值的。也就是
所以,直接写成如下即可
如果讲 ...
谢谢  第一次听说coalesce函数 学习了!

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-23 21:18