MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLでCOUNT(*)に別名(変数名)を付けてテーブルのレコード数を表示する方法

MySQLのCOUNT(*)結果に別名を付ける方法

MySQLでは、COUNT(*)の集計結果にAS句を使って別名(エイリアス)を付けることで、あたかも変数のように扱い、テーブル内のレコード数を見やすい形で表示できます。

基本となる構文は以下の通りです。

SELECT COUNT(*) AS 任意の別名 FROM テーブル名;

サンプルテーブルの作成

まず、動作確認用のテーブルを作成します。

mysql> CREATE TABLE DemoTable695 (
    FirstName VARCHAR(100)
);
Query OK, 0 rows affected (0.72 sec)

レコードの挿入

次に、INSERTコマンドを使ってテーブルにいくつかのレコードを挿入します。

mysql> INSERT INTO DemoTable695 VALUES('Chris');
Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO DemoTable695 VALUES('Robert');
Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO DemoTable695 VALUES('David');
Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO DemoTable695 VALUES('Mike');
Query OK, 1 row affected (0.16 sec)

登録済みレコードの確認

SELECT文ですべてのレコードを表示してみましょう。

mysql> SELECT *FROM DemoTable695;

実行すると、次のような出力が得られます。

+-----------+
| FirstName |
+-----------+
| Chris     |
| Robert    |
| David     |
| Mike      |
+-----------+
4 rows in set (0.00 sec)

COUNT(*)に別名を付けてレコード数を取得する

ここからが本題です。以下のクエリのように、COUNT(*)に「TOTAL_NO_OF_RECORDS」という別名を付けて実行します。

mysql> SELECT COUNT(*) AS TOTAL_NO_OF_RECORDS FROM DemoTable695;

実行結果は以下の通りです。

+---------------------+
| TOTAL_NO_OF_RECORDS |
+---------------------+
| 4                   |
+---------------------+
1 row in set (0.02 sec)

まとめ

このように、AS句で別名を指定するだけで、COUNT(*)の集計結果を任意の列名で表示できます。出力結果が分かりやすくなるだけでなく、アプリケーション側から結果セットを参照する際も、この別名をキーとして値を取得できるため、実務上非常に便利です。なお、別名には日本語ではなく英数字やアンダースコア(_)を使うのが一般的です。

  1. MySQLのストアドプロシージャでテーブルのレコードを表示する方法

    MySQLでは、ストアドプロシージャ内にSELECT文を組み込むことで、テーブルのレコードを簡単に表示できます。ストアドプロシージャを活用すると、よく使うクエリを再利用可能な形で保存できるため、作業の効率化につながります。ここでは、実際の手順を順番に解説していきます。1. テーブルを作成するまず、サンプル用のテーブルを作成します。mysql> create table DemoTable1933 ( ClientName varchar(20) ); Query OK, 0 rows affected (0.00 sec)2. レコードを挿入する次に、INSERT

  2. MySQLでテーブル内の各レコードの出現回数をカウントし、結果を新しい列として表示する方法

    MySQLのテーブル内で同じ値が何回出現するかをカウントし、その結果を新しい列として表示したい場合があります。このような集計処理には、COUNT(*)関数とGROUP BY句を組み合わせて使用します。 サンプルテーブルの作成 まず、動作確認用のテーブルを作成しましょう。 mysql> create table DemoTable1942 ( Value int ); Query OK, 0 rows affected (0.00 sec) INSERTコマンドを使って、いくつかのレコードを挿入します。 mysql> insert into DemoTable