相关疑难解决方法(0)

如何在 postgresql 中进行透视

我有如下表,我想改造它们。

year month week type count
2021  1     1    A    5
2021  1     1    B    6
2021  1     1    C    7
2021  1     2    A    0
2021  1     2    B    8
2021  1     2    C    9
Run Code Online (Sandbox Code Playgroud)

我想像下面这样旋转。

year month week  A  B  C
2021  1     1    5  6  7
2021  1     2    0  8  9
Run Code Online (Sandbox Code Playgroud)

我尝试了以下语句,但它返回了很多空列。我想知道当添加新类型时我必须一一添加列。

select
    year,
    month,
    week,
    case when type in ('A') then count end as A,
    case when type in ('B') then count end as B, …
Run Code Online (Sandbox Code Playgroud)

sql postgresql

7
推荐指数
1
解决办法
6873
查看次数

在PostgreSQL中使用行值作为列

我有以下brands表格,其中包含以前查询的total每个销售额month:

 id  |   date   | total
-----+----------+------
 123 | Apr-2012 | 100
 123 | Mar-2012 | 150
 123 | Jan-2012 | 500
 987 | Apr-2012 | 5
 987 | Mar-2012 | 0.10
 987 | Feb-2012 | 8
Run Code Online (Sandbox Code Playgroud)

我期待实现以下目标:

 id  | Apr-2012 | Mar-2012 | Feb-2012 | Jan-2012
 123 | 100      | 150      | 0        | 500
 987 | 5        | 0.10     | 8        | 0
Run Code Online (Sandbox Code Playgroud)

如何将date值用作列,并能够用0总计填写缺少的日期?

sql postgresql pivot crosstab

5
推荐指数
1
解决办法
7201
查看次数

标签 统计

postgresql ×2

sql ×2

crosstab ×1

pivot ×1