私はPostgreSQLデータベースを使用した一時的な集約のためのJava実装に取り組んでいます。
私のテーブルはこんな感じ
Value | Start | Stop
(int) | (Date) | (Date)
-------------------------------
1 | 2004-01-01 | 2010-01-01
4 | 2000-01-01 | 2008-01-01
したがって、この期間を視覚化するには:
------------------------------
----------------------------------------
2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010
[ 4 ][ 5=4+1 ][ 1 ]
私のアルゴリズムは、データの時間的集計を計算するようになりました。例:SUM():
Value | Start | Stop
-------------------------------
4 | 2000-01-01 | 2004-01-01
5 | 2004-01-01 | 2008-01-01
1 | 2008-01-01 | 2010-01-01
得られた結果をテストするために、PostgreSQLを使用してデータを直接クエリしたいと思います。この問題を解決する簡単な方法はまだありません。ただし、同じ結果を得る方法は確かにあります。集計Count、Max、Min、Sum、およびAverageがサポートされている必要があります。私は悪い解決策や遅い解決策を気にしません、それはただうまくいく必要があります。
これまでに見つけた、同様に機能するはずのクエリは次のとおりです。
select count(*), ts, te
from ( checkout a normalize checkout b using() ) checkoutNorm
group by ts, te;
私の養子縁組は次のようになります。
select count(*), start, stop
from ( myTable a normalize myTable b using() ) myTableNorm
group by start, stop;
ただし、エラーが報告されERROR: syntax error at or near "normalize" -- LINE 2: from ( ndbs_10 a normalize ndbs_10 b using() ) ndbsNorm
ました。
誰かがこの問題の解決策を持っていますか?それが機能する限り、上記のクエリに基づく必要はありません。どうもありがとう。