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;
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.