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;
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.