SQL 为每个不同的值创建列

SQL creating column for each distinct value

我有一个 table 看起来像这样:

 date | title | count
------+-------+-------
04/20 |  foo  |  420
04/20 |  bar  |  194
04/21 |  foo  |  23
04/21 |  bar  |  100

我想得到这样的结果:

 date | foo | bar 
------+-----+-----
04/20 | 420 | 194 
04/21 | 23  | 100

如何在 Redshift SQL 中执行此操作?谢谢!

我认为最简单的方法是使用 case when with group by 像这样:

SELECT "date",
       SUM(CASE WHEN title = 'foo' THEN "count" END) AS foo,
       SUM(CASE WHEN title = 'bar' THEN "count" END) AS bar
FROM yourTable
GROUP BY "date"
ORDER BY "date"