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

MySQLの複数の列の値をカウントしますか?


複数の列の値をカウントするには、CASEステートメントを使用します。最初にテーブルを作成しましょう::

mysql> create table countValueMultipleColumnsDemo
   -> (
   -> Value1 int,
   -> Value2 int,
   -> Value3 int
   -> );
Query OK, 0 rows affected (0.62 sec)

以下は、挿入コマンドを使用してテーブルにいくつかのレコードを挿入するためのクエリです。

mysql> insert into countValueMultipleColumnsDemo values(10,15,10);
Query OK, 1 row affected (0.15 sec)

mysql> insert into countValueMultipleColumnsDemo values(20,30,10);
Query OK, 1 row affected (0.14 sec)

mysql> insert into countValueMultipleColumnsDemo values(40,10,60);
Query OK, 1 row affected (0.18 sec)

以下は、selectコマンドを使用してテーブルのレコードを表示するためのクエリです。

mysql> select *from countValueMultipleColumnsDemo;

これにより、次の出力が生成されます

+--------+--------+--------+
| Value1 | Value2 | Value3 |
+--------+--------+--------+
| 10     | 15     | 10     |
| 20     | 30     | 10     |
| 40     | 10     | 60     |
+--------+--------+--------+
3 rows in set (0.00 sec)

以下は、複数の列の値をカウントするためのクエリです。

mysql> SELECT (SUM(CASE WHEN Value1 = 10 THEN 1 ELSE 0 END) +
   -> SUM(CASE WHEN Value2 = 10 THEN 1 ELSE 0 END) +
   -> SUM(CASE WHEN Value3 = 10 THEN 1 ELSE 0 END)) TOTAL_COUNT
   -> from countValueMultipleColumnsDemo;

これにより、次の出力が生成されます

+-------------+
| TOTAL_COUNT |
+-------------+
| 4           |
+-------------+
1 row in set (0.00 sec)

  1. MySQLのカスタム列に複数の値を設定しますか?

    このために、UNIONALLを使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1987    (    UserValue int    ); Query OK, 0 rows affected (2.90 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1987 values(4); Query OK, 1 row affected (0.22 sec) mysql> in

  2. MySQLで特定の値を持つ列の数を数える方法は?

    以下は構文です- select sum(yourColumnName1+yourColumnName2+yourColumnName3...N) as `anyAliasName1`, sum(yourColumnName1 and yourColumnName2 and yourColumnName3….N) as anyAliasName from yourTableName; テーブルを作成しましょう- mysql> create table demo36 −> ( −> id int not null auto_incremen