【问题标题】:SQL creating column for each distinct valueSQL 为每个不同的值创建列
【发布时间】:2015-06-24 17:15:44
【问题描述】:

我有一张如下所示的表格:

 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 中执行此操作?谢谢!

【问题讨论】:

标签: sql postgresql aggregate amazon-redshift


【解决方案1】:

我认为最简单的方法是使用 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"

【讨论】:

  • 谢谢!我可能只是要使用 ERB 动态生成查询,因为我有很多列。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-16
  • 1970-01-01
  • 1970-01-01
  • 2015-06-26
  • 1970-01-01
相关资源
最近更新 更多