我有一张这样的表:
Name | Month | Price -------+---------+------- Gas , Jan , 21 Gas , Feb , 40 Food, Feb , 72 Food, Apr , 56 Food, Jan , 100 Gas , Apr , 90 Fun , Mar , 55
新表应该是:
Name | Price --------+------- Gas , 151 Food , 228 Fun , 55
我将如何做到这一点?
答案 0 :(得分:1)
使用此查询可获得所需的结果。它将通过从第一个表中获取数据将数据插入第二个表中。
INSERT INTO your_table_2 (Name, Price)
SELECT Name, SUM(Price) as Price FROM table_name GROUP BY Name;
答案 1 :(得分:1)
您可以按name
进行分组,然后使用sum()
之类的聚合函数为每个不同的price
name
个
select name, sum(price) as total_price
from your_table
group by name
答案 2 :(得分:0)
要从聚合创建新表,请使用CREATE TABLE AS
。
CREATE TABLE AS
SELECT name, sum(price)::int AS price
FROM tbl
GROUP BY 1;