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

MySQLのAmount列から同じ価格の2つの異なる合計を表示するにはどうすればよいですか?


このために、caseステートメントを使用できます。まずテーブルを作成しましょう-

mysql> create table DemoTable1794
     (
     Amount int
     );
Query OK, 0 rows affected (0.00 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable1794 values(100);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1794 values(80);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1794 values(320);
Query OK, 1 row affected (0.00 sec)

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

mysql> select * from DemoTable1794;

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

+--------+
| Amount |
+--------+
|    100 |
|     80 |
|    320 |
+--------+
3 rows in set (0.00 sec)

以下は、Amount-

列から同じ価格の2つの異なる合計を表示するためのクエリです。
mysql> select sum(Amount),
     sum( case when Amount < 150 then Amount else 0 end ) as SecondAmount
     from DemoTable1794;

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

+-------------+--------------+
| sum(Amount) | SecondAmount |
+-------------+--------------+
|         500 |          180 |
+-------------+--------------+
1 row in set (0.00 sec)

  1. MySQLで同じ行の個別のレコードからのカウントを表示するにはどうすればよいですか?

    このために、GROUP BY句とともにGROUP_CONCAT()、COUNT()を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> CompanyId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    -> CompanyName varchar(20)    -> ); Query OK, 0 rows affected (0.62 sec) 挿入コマンド-を

  2. MySQLの条件が異なる同じ列の2つの値を連結します

    このために、集計関数でgroup_concat()を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1869      (      Id int,      Subject varchar(20 ),      Name varchar(20)      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレ