Hello,
I have a table, I would like in SQL the sum of prices per ID.
Thanks for your help
Table: what I want:
ID | Price | ID | Somme Price | |||
147 | 14 | 147 | 14 | |||
145 | 45 | 145 | 63 | |||
174 | 17 | 174 | 17 | |||
145 | 18 | 178 | 83 | |||
178 | 18 | 1798 | 68 | |||
1798 | 45 | 14567 | 67 | |||
14567 | 67 | 1646 | 34 | |||
1646 | 34 | |||||
1798 | 23 | |||||
178 | 65 | |||||
Something like:
proc sql;
create table want as
select id,sum(price) as some_price from have group by id;
quit;
Do like this
data have;
input ID$ Price;
datalines;
147 14
145 45
174 17
145 18
178 18
1798 45
14567 67
1646 34
1798 23
178 65
;
proc sql;
create table want as
select ID, sum(Price) as SumPrice
from have
group by ID;
quit;
proc tabulate data=HAVE out=want (drop =_type_ _page_ _table_ Price_N);
class ID;
var Price;
tables ID, Price*(sum);
;
run;
Something like:
proc sql;
create table want as
select id,sum(price) as some_price from have group by id;
quit;
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.