1

次のデータを持つテーブルがあります。

type     | id  | name  | imps | clicks |  mo  | conv |
---------+---- +-------|------|--------|------|------|
custom   | 1   |  new1 |  5   |   5    |  8   |      |
default  | 2   |  new2 |  34  |        |  8   |   5  |
other    | 3   |  old3 |  34  |   3    |  8   |      |
other    | 4   |  old4 |  63  |   2    |  9   |   3  |
other    | 3   |  old3 |  23  |   9    |  9   |      |
other    | 3   |  old3 |  12  |   1    |  10  |   1  |

crosstab()またはcase 関数を実行したいのですが、使い方がわかりません。同じことに関して、ここで他の質問を見てきましたが、よく理解できません。

結果を次のようにしたい:

type     | id  | name  | oldimps | oldclicks |  oldconv  | newimps | newclicks | newconv |
---------+---- +-------|---------|-----------|-----------|---------|-----------|---------|
custom   | 1   |  new1 |    5    |     5     |           |         |           |         |
default  | 2   |  new2 |    34   |           |     5     |         |           |         |
other    | 3   |  old3 |    57   |     12    |           |   12    |     1     |    1    |
other    | 4   |  old4 |    63   |     2     |     1     |         |           |         |

基本的には、フィールドでピボットすることmoが私の目標です。それぞれtypeに独自の行があり、最大数が|moに累積されます。| | の他のすべての数値は|に累積されます。| |newimpsnewclicksnewconvmooldimpsoldclicksoldconv

必要な結果を得るには、どのタイプのクエリ/関数を使用すればよいでしょうか?

4

1 に答える 1