全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1599 1
2017-08-18

ADV米粮包里面有这样一道题:


Q: left join and in-line view

Product

Product_id Product

1                1001

2                1002

3                1003


Sales

Product_id Sales

3                100

1                200

5                100

1                200

3                100

1                100


Proc sql;

Select p.product s.totalsales

From product as p

left join (select sum(sales) as totalsales from sales as s)

on p.product_id=s.product_id;

quit;

What is the output?


Answer:

Product Totalsales

1001     500

1002     .

1003     200


这里我有点不解的地方是,left join后面的语句中,sum(sales)是group之后每一种类型product的总和呢,还是没有group的总和?看答案是已经group好每一种Product的toatal sales了,我想知道是在哪里进行了这个group的操作呢?是下一行的on p.product_id=s.product_id这里吗?(我以为on语句这里只是对left join起作用的)


二维码

扫码加我 拉你入群

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

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

全部回复
2019-2-27 10:38:19
我也正好碰到这个问题,觉得米粮搞错了。必须在inline view里加上group by product_id 才会有题中的output.
select p.product, totalsales
from product as p
left join
(select product_id,sum(s.sales) as totalsales
from sales as s
group by product_id)
on p.product_id=s.product_id;
quit;
在SAS上亲测可行
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群