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"
我有一个 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"