私はSQLを初めて使い、Postgresでクロス集計をしようとしていました。私はExcelでそれをやったでしょうが、私は約350万行のデータベース、コードのための20,000の異なる値、catの7つのカテゴリ、そして1から100までの可変の値を持っています。PostgreSQLの3つのカラムと1つのカラムから値が合計されたクロスタ
Excelは行数を処理できないため、SQLはそれです。
私のデータは、フォームテキストとしてコードと猫、Postgresのテーブルに格納された整数値を持つ
code | cat | value |
--------------------------------
abc123 | 1 | 4 |
abc234 | 2 | 6 |
abc345 | 1 | 1 |
abc123 | 3 | 2 |
abc123 | 6 | 12 |
です。
コードと猫のクロス集計を行いたいと思います。私は戻り値に 'null'の代わりに0を表示したいと思いますが、 'null'がより単純なクエリであれば、それは問題ありません。
だから私は希望の出力は、私はPostgresのヘルプファイルや他のフォーラムで検索しました
code | 'cat=0' | 'cat=1' | 'cat=2' | 'cat=3' | 'cat=4' | 'cat=5' | 'cat=6'|
abc123 | 25 | 0 | 3 | 500 | 250 | 42 | 0 |
abc234 | 0 | 100 | 0 | 10 | 5 | 0 | 25 |
abc345 | 1000 | 0 | 0 | 0 | 0 | 0 | 0 |
です。一番近いのはSOの質問PostgreSQL Crosstab Queryでしたが、3列目の値を合計する方法を理解できませんでした。
ご協力いただければ幸いです。
これまでのことはありますか? ;) – plaes
ちょうど不満..多くのサイトから多くの例を試しました。単純なクロス集計をしても、私は42601のエラーを受けています..タイプの不一致 – Siraj
ええ、でも、これまでに何を試しましたか? – plaes