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;
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
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.