PostgreSQL でユニークな企業や職業の連続した年をグループ化するにはどうすればよいですか?
PostgreSQL 9.0 での連続した年数のグループ
この記事では、PostgreSQL 9.0 で固有の会社と職業の情報を取得しながら、連続した年をグループ化する方法について説明します。
この目標を達成するために、複数のステップからなるアプローチを使用します。まず、その年がシーケンスの最初であるかどうか、または今年と前年の差が 1 より大きいかどうかに基づいて「group_cnt」値を割り当てるサブクエリを使用して、連続していない年を特定します。
次に、企業や職種ごとにソートした年分のgroup_cnt値を合計してグループIDを定義します。これにより、連続しない年に連続したグループが作成されます。
最後に、別の派生テーブルを利用して、グループ ID に基づいて年を集計します。その結果、固有の企業および職業ごとに、連続した年がグループ化された年の配列が得られます。
クエリの例:
SELECT company, profession, array_agg(year) AS years FROM ( SELECT company, profession, year, SUM(group_cnt) OVER (ORDER BY company, profession, year) AS group_nr FROM ( SELECT company, profession, year, CASE WHEN ROW_NUMBER() OVER (PARTITION BY company, profession ORDER BY year) = 1 OR year - LAG(year,1,year) OVER (PARTITION BY company, profession ORDER BY year) > 1 THEN 1 ELSE 0 END AS group_cnt FROM qualification ) t1 ) t2 GROUP BY company, profession, group_nr ORDER BY company, profession, group_nr;
出力:
<code> company | profession | years ---------+------------+------------------ Google | Programmer | {2000} Google | Sales | {2000,2001,2002} Google | Sales | {2004} Mozilla | Sales | {2002} (4 rows)</code>
以上がPostgreSQL でユニークな企業や職業の連続した年をグループ化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか?

Linuxでmysqlを実行します(phpmyAdminを使用してポッドマンコンテナを使用して/なし)

MACOSで複数のMySQLバージョンを実行する:ステップバイステップガイド

人気のあるMySQL GUIツール(MySQL Workbench、PhpMyAdminなど)は何ですか?

MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか?
