PostgreSQLの列挙型 (Enumerated Type) を使用したデータ分析


まず、列挙型を作成する方法から始めましょう。以下の例では、"status"という列挙型を作成し、3つの有効な値 ("active", "inactive", "pending") を定義しています。

CREATE TYPE status AS ENUM ('active', 'inactive', 'pending');

次に、列挙型を使用してテーブルを作成し、列に制約を追加します。以下の例では、"users"というテーブルを作成し、"status"列に列挙型を使用して制約を追加しています。

CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    name VARCHAR(100),
    status status
);

データを挿入する際には、列挙型で定義した値のいずれかを指定する必要があります。例えば、以下のように挿入することができます。

INSERT INTO users (name, status) VALUES ('John Doe', 'active');

また、列挙型を使用してクエリを実行することもできます。例えば、特定のステータスのユーザーを取得するクエリを以下に示します。

SELECT * FROM users WHERE status = 'active';

さらに、列挙型を使用して条件を組み合わせたクエリも実行できます。以下は、"active"ステータスのユーザーの数をカウントするクエリの例です。

SELECT COUNT(*) FROM users WHERE status = 'active';

このように、PostgreSQLの列挙型を使用することで、特定の値のセットを定義し、データ分析に役立てることができます。