7
Postgresqlクエリで連続した複数の範囲の開始と終了を効率的に選択する
この質問は、データベース管理者のStack Exchangeで回答できるため、Stack Overflowから移行されました。 7年前に移行され ました。 名前と整数が1〜288の範囲のテーブルには、約10億行のデータがあります。指定されたnameに対して、すべてのintは一意であり、範囲内のすべての可能な整数が存在するわけではないため、ギャップがあります。 このクエリは、サンプルケースを生成します。 --what I have: SELECT * FROM ( VALUES ('foo', 2), ('foo', 3), ('foo', 4), ('foo', 10), ('foo', 11), ('foo', 13), ('bar', 1), ('bar', 2), ('bar', 3) ) AS baz ("name", "int") 名前と連続した整数のシーケンスごとに行を持つルックアップテーブルを生成したいと思います。そのような各行には以下が含まれます。 名前 -値の名前の列 開始 連続シーケンス内の最初の整数- エンド -連続するシーケンスの最後の値 スパン - エンド-スタート+ 1 このクエリは、上記の例の出力例を生成します。 …
19
query
postgresql