SQL COUNT関数を使用してデータベース表の値を数える

SQL COUNTを使用して、幅広いデータを返す

クエリ要素は、Structured Query Language(SQL)の重要な部分です。 リレーショナルデータベースから特定の基準に基づいてデータを取得します。 COUNT()関数を含むSQLクエリを使用して、データベースからあらゆる種類の情報を取得できます。

SQL COUNT()関数は、ユーザー指定の基準に基づいてデータベースレコードをカウントできるので、特に便利です。 これを使用して、表内のすべてのレコードをカウントしたり、列内の一意の値をカウントしたり、特定の基準を満たすレコードの発生回数をカウントすることができます。

この記事では、これらのシナリオのそれぞれについて簡単に見ていきます。

この例は、一般的に使用されるNorthwindデータベースに基づいています。このデータベースは、チュートリアルとして使用するためにデータベース製品とともに提供されることがよくあります。

以下は、データベースのProductテーブルの抜粋です。

製品表
製品番号 商品名 SupplierID QuantityPerUnit 単価 UnitsInStock
1 チャイ 1 10箱×20袋 18.00 39
2 チャン 1 24〜12オンスのボトル 19.00 17
3 アニシードシロップ 1 12 - 550 mlボトル 10.00 13
4 シェフアントンのケージン調味料 2 48 - 6オンスのジャー 22.00 53
5 シェフアントンのガンボミックス 2 36箱 21.35 0
6 おばあちゃんのボイセンベリースプレッド 3 12 - 8オンスのジャー 25.00 120
7 おじさんのオーガニック乾燥梨 3 12 - 1ポンドpkg。 30.00 15

テーブル内のレコードを数える

最も基本的なクエリは、テーブル内のレコード数を数えることです。 製品テーブルに存在するアイテムの数を知りたい場合は、次のクエリを使用します。

SELECT COUNT(*)
FROM製品;

このクエリは、テーブル内の行数を返します。 この例では、7です。

列内の一意の値を数える

COUNT関数を使用して、列内の一意の値の数を識別することもできます。 この例では、製品が生産部門に表示されている異なるサプライヤの数を特定するには、次のクエリを使用してこれを実行できます。

SELECT COUNT(DISTINCT SupplierID)
FROM製品;

このクエリは、SupplierID列にある個別の値の数を返します。 この場合、答えは3で、1、2、3を表します。

一致するレコードの基準をカウントする

COUNT()関数をWHERE句と組み合わせて、特定の条件に一致するレコードの数を特定します。 たとえば、部門マネージャーが部門内の在庫レベルを知りたいとします。 次のクエリは、UnitsInStockを表す行の数が50単位未満であることを示します。

SELECT COUNT(*)
FROM製品
UnitsInStock <50;

この場合、クエリはChai、Chang、Aniseed Syrup、およびUncle BobのOrganic Dried Pearsを表す4のを返します。

COUNT()句は、ビジネス要件を満たすためにデータを要約しようとするデータベース管理者にとって非常に重要です。 ちょっとした創造性で、COUNT()関数をさまざまな目的に使うことができます。