質問

これは、私がgreenplumデータベースで達成したい非常に基本的なクエリです(PostgreSQL 8.2.15のように)

表Tのフィールドcreate_dateはタイムスタンプW / Oタイムゾーンです。 誰かがこれを達成するために正しい質問を指示することができましたか?ありがとう。

select * from generate_series ((select EXTRACT (YEAR FROM MIN(t1.create_date)) from t1),(select EXTRACT (YEAR FROM MAX(t1.create_date)) from t1))
.

その投げ誤差

ERROR:  function generate_series(double precision, double precision) does not exist
.

行1:Generate_Seriesから*を選択します((extract(miからの年)。 ^ ヒント:指定された名前と引数の種類と一致しません。明示的なタイプのキャストを追加する必要があるかもしれません。

役に立ちましたか?

解決

引数を整数に明示的にキャストできます。

select *
from generate_series (
    (select EXTRACT (YEAR FROM MIN(t1.create_date)) from t1)::int,
    (select EXTRACT (YEAR FROM MAX(t1.create_date)) from t1)::int
)
.

SQL FIDDLE DEMO

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top