次のデータを持つテーブルがあります。
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
に累積されます。| | の他のすべての数値は|に累積されます。| |newimps
newclicks
newconv
mo
oldimps
oldclicks
oldconv
必要な結果を得るには、どのタイプのクエリ/関数を使用すればよいでしょうか?