1
私はこのようになり、PostgreSQLのテーブルの行の一連の持っている:PostgreSQLで可変数のキーを使用してJSON配列を集計するにはどうすればよいですか?
-[ RECORD 1 ]---------------------------------------------------------------------
student | e04c0ae4709340cb8e03c52f444e723f
group | 1
subgroup | 1
variable | VAR1
status | { "track_A" : "Done", "track_B" : "Done", "track_C" : "To Do" }
-[ RECORD 2 ]---------------------------------------------------------------------
student | e04c0ae4709340cb8e03c52f444e723f
group | 1
subgroup | 1
variable | VAR2
status | { "track_A" : "To Do", "track_B" : "Done", "track_C" : "To Do" }
-[ RECORD 3 ]---------------------------------------------------------------------
student | 849d1e6a0c2b4530a2b550829df94556
group | 0
subgroup | 1
variable | VAR3
status | { "track_A" : "Done", "track_B" : "To Do", "track_C" : "To Do" }
私は学生、グループおよびサブグループでグループにそれらを好きで、各トラックのカウント状態になるだろうし。次のようなものがあります。
-[ RECORD 1 ]---------------------------------------------------------------------
student | e04c0ae4709340cb8e03c52f444e723f
group | 1
subgroup | 1
totals | { "track_A" : {"done": 1, "to_do": 1}, {"track_B" : {"done": 0, "to_do": 2}, "track_C" : {"done": 0, "to_do": 2} }
問題のトラック数が異なる可能性があります。私は彼らの名前は知っているが、静的ではないので、単純な集約はできない。 PostgreSQL(9.5)でこれをどのように書くことができるでしょうか?操作に時間がかかるため、すべてのトラックを繰り返して集計する必要はありません。