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

MySQLの条件に基づいて列を合計する


まずテーブルを作成しましょう-

mysql> create table DemoTable
(
   CustomerId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   ProductAmount int,
   CustomerCountryName varchar(10)
);
Query OK, 0 rows affected (0.86 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable(ProductAmount,CustomerCountryName) values(190,'US');
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable(ProductAmount,CustomerCountryName) values(200,'UK');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable(ProductAmount,CustomerCountryName) values(1500,'AUS');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable(ProductAmount,CustomerCountryName) values(2010,'US');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable(ProductAmount,CustomerCountryName) values(7890,'UK');
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable(ProductAmount,CustomerCountryName) values(500,'US');
Query OK, 1 row affected (0.21 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select *from DemoTable;

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

+------------+---------------+---------------------+
| CustomerId | ProductAmount | CustomerCountryName |
+------------+---------------+---------------------+
|          1 |           190 | US                  |
|          2 |           200 | UK                  |
|          3 |          1500 | AUS                 |
|          4 |          2010 | US                  |  
|          5 |          7890 | UK                  |
|          6 |           500 | US                  |
+------------+---------------+---------------------+
6 rows in set (0.00 sec)

以下は、条件に基づいて列を合計するためのクエリです。ここでは、国「US」の顧客のレコードを合計します-

mysql> select SUM(ProductAmount) AS Total_Amount from DemoTable where CustomerCountryName='US';

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

+--------------+
| Total_Amount |
+--------------+
|         2700 |
+--------------+
1 row in set (0.00 sec)

  1. MySQLの別の列で条件が満たされた場合に、列のセルを合計するにはどうすればよいですか?

    このために、GROUP BY句とともに集計関数SUM()を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> EmployeeName varchar(20),    -> JoiningDate date,    -> Salary int    -> ); Query OK, 0 rows affected (0.54 sec) 挿入コマンド-を使用して、テーブルにいくつか

  2. メールアドレスに基づいてMySQL列を更新しますか?

    最初にテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> EmailAddress varchar(20),    -> Score int    -> ); Query OK, 0 rows affected (1.05 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('Chris@gmail.com&#