問題タブ [ltree]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
postgresql - PostgreSQL を使用した階層タスク ツリーで (レベルごとの) 平均進行状況を見つける方法は?
タスクツリー内の各タスク グループの平均進行状況を判断しようとしています。問題は、(子テーブルである別のテーブルにある) リーフ ノードだけが実際に進行状況フィールドを持っていることです。
タスク(親) テーブルとアクティビティ(子) テーブルがあります。どちらもIDを共有しています。DB でltree拡張機能を使用していることを指摘しておく必要があります。
ツリー全体とノードレベルごとの平均進行状況を示す列を表示するビューを作成しようとしています。最も内側のレベルから計算を開始し、ツリー構造を構築する必要がありますが、うまくいきません。
再帰的な CTEとウィンドウ関数を使用してこれにアプローチしようとしましたが、役に立ちませんでした。Postgres では、再帰 cteの再帰項で集計関数を使用できないため、機能しませんでした。
これらは私のテーブルです(簡略化):
編集
これは、現在のビューのスクリーンショットです。すべてのリーフノードの平均進行状況を取得できますが、それはまさに私が必要としているものではありません。ツリーの各レベルの平均進行状況を計算し、それをノード階層の上位に構築する必要があります。
これに関する洞察は大歓迎です。前もって感謝します。
sql - ノードが ltree で繰り返されているかどうかを確認する方法 - PostgreSQL
ノードが ltree で繰り返されている (1 つ以上終了している) かどうかを確認する方法は?
このようなもの: