postgresql按一个值分组,但返回多列
假设我有下表:postgresql按一个值分组,但返回多列,postgresql,crosstab,Postgresql,Crosstab,假设我有下表: id location vendor price qty 1 CA nike 10 2 2 US nike 11 1 3 US adidas 12 2 我想要一个查询,对供应商进行分组,并返回每个位置的price*qty。所以每个位置都是一列。因此,在这种情况下,结果将是: vendor | CA | US ------------------ nik
id location vendor price qty
1 CA nike 10 2
2 US nike 11 1
3 US adidas 12 2
我想要一个查询,对供应商进行分组,并返回每个位置的price*qty
。所以每个位置都是一列。因此,在这种情况下,结果将是:
vendor | CA | US
------------------
nike | 20 | 11
adidas | 0 | 24
任何帮助都将不胜感激!您可以使用的具有表格设置的DBFIDLE
SELECT vendor,
sum(qty * price) FILTER (WHERE location = 'CA'),
sum(qty * price) FILTER (WHERE location = 'US')
FROM atable
GROUP BY vendor;