【发布时间】:2019-09-27 11:07:22
【问题描述】:
我写了一个查询,它给了我这个输出:
(这只是一个示例,显然输出表包含大约 300000 行)
这是我的查询:
proc sql;
create Table Output as
select ID_User, Division_ID, sum(conta) as Tot_Items, max(Counts) as Max_Item
from (select c.ID_User , c.Div_ID as Division_ID, ro.code as Mat, count(*) as Counts
from Ods.R_Ordini o
inner join DMC.Cust_Dupl c
on User_ID = ID_User
inner join ods.R_Nlines ro
on ro.Orders_Id = o.Id_Orders AND RO.SERVICE = 0
inner join ods.R_Mat m
on ro.Mat_Id = Id_Mat and flag = 0
group by
ID_User,
C.Division_ID,
Ro.Code
Having Counts > 1
)
group by
Id_User,
Division_ID
Order by
Tot_Item DESC
;
quit;
所以,我想要的是重写这个查询,但我想使用 Where 条件而不是 Group by,(WHERE=(DIVISION_ID=3)) 这是条件。
我尝试了几次,有些出错了,有些我确实得到了输出,但输出和原来的不一样。
任何帮助将不胜感激,谢谢。
【问题讨论】:
-
只需在
group by之前添加where division_id = 3。 -
我已经尝试过了,但我仍然出错!!!
-
哦,等等,我知道我的错误在哪里,解决了,谢谢。
-
普及知识,你可以回答你自己的问题
标签: sql group-by sas where-clause proc