はじめに
PostgreSQLでは、COUNT()
関数は指定したテーブルの行数を返し、SELECT
文は指定した問い合わせ条件に一致するレコードを返します。 この関数と文を一緒に使うことで、PostgreSQLのクエリを次のレベルに引き上げ、クエリで指定した条件に合致するレコードの数を返すことができます。 この記事では、PostgresのCOUNTとSELECTを同時に使用して、与えられた問い合わせから返されたレコードの数を調べる方法を紹介します。
前提条件
このチュートリアルを進める前に、PostgreSQLがコンピュータにインストールされていることを確認します。 134> ステートメントを実行するために、データベースを使用する必要があります。 また、この記事で提供される例に従うためには、PostgreSQLの入門的な知識を持っている必要があります。
PostgreSQL COUNT SELECT
COUNT()
関数を SELECT
文と組み合わせて使用する場合、次の構文が使用されます。
1
|
SELECT COUNT ( , ) FROM TABLE_NAME;
|
上に示す構文を少し掘り下げてみましょう:
-
SELECT
– データベースから特定の列を選択するのに使用されます。 -
COUNT
– これは、このテーブルのレコード数を数えるために使用します。 -
DISTINCT
– この句は、返されたレコードから重複を排除するために使用します。 -
Asterisk (*)
– アスタリスクを使用すると、テーブル内のすべての列を選択すると同じです。 -
column_name
– レコードをカウントする列の名前を表します。 -
table_name
– レコードをカウントするテーブルの名前を表します。
PostgreSQL Count Function Examples
この例では、countries
という名前のテーブルを使用します。
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
country_id|country_name|continent|code
-。———–+————————–+—————+—— 35|南アフリカ|アフリカ|AF 14|カナダ|北米|NA 51|キューバ|北米|NA 41|メキシコ|北米|NA 45|アメリカ合衆国|北米|NA 85|アルゼンチン|南米|SA 37|ベネズエラ|南米|SA 63|フィリピン|南米|NA 55|南米|NA 55|南米|南米|NA 55|北アメリカ|北アメリカ|North America|南アメリカ|North America|North America|North America|North USA|南アメリカ|North USA|North Africa アジア|AS 83|中国|アジア|AS 22|ロシア|アジア|AS 21|アラブ首長国連邦|アジア|AS 62|ドイツ|欧州|EU 73|イタリア|欧州|EU 28|イギリス|欧州|EU |
SELECT COUNT all example
最初の例について説明します。 テーブルの行数を数えます。
1
|
SELECT COUNT(*) AS number_of_rows FROM countries;
|
この問い合わせの結果は、下記のようなものになるはずです。
1
2 3 |
number_of_rows
—————- 14 |
新しい列名を指定するのに AS
節を入れて別名を使っていることに注目します。
返されるデータはテーブルの行数だけなので、結果には1つの列しか含まれません。
COUNT column example
次に、指定した列の行数をカウントしてみましょう。
1
|
この問い合わせの結果は、以下に見ることができます。
1
2 3 |
number_of_rows
—————- 14 |
この問い合わせでもテーブル内の合計行数が数えられるので結果は最初の例と同じになる。
Count distinct example
今度はもっと複雑な例を試してみましょう。 DISTINCT
節を使用して、「continent」という名前の列の行数を数えます。
1
|
SELECT COUNT( DISTINCT continent ) FROM countries;
|
この問い合わせ結果は少し違っていますね。
1
2 3 |
COUNT
— 5 |
この問い合わせで、結果が 5 だけなのは DISTINCT
関数がレコード内で見つかった重複する値を削除しているためです。
COUNT GROUP BY
次の例では、GROUP BY
句を使用します。 code “という名前の列で見つかった各値の行数を数えます。
1
2 3 |
SELECT code, COUNT(code)
FROM countries GROUP BY code; |
ここで、クエリの結果について見ていきましょう。
1
2 3 4 5 6 7 |
code|COUNT
——+——-| |
Conclusion
PostgreSQLテーブルを照会しているとき、あなたは、次のことを行っています。 ある条件に合致するレコードの数が、実際のレコードそのものよりも必要な場合があります。 PostgresのCOUNTとSELECTを一緒に使用することで、必要な結果を得ることができます。 この記事では、PostgreSQLのSELECT
文とCOUNT()
関数を組み合わせて使用するいくつかの例を紹介しました。 これらの例に沿って進めば、自分のPostgreSQLのテーブルに対して同様の問い合わせを作成する準備ができることでしょう。