如何乘以列,然後對類似記錄(如客戶名)進行行求和?


為了理解這一點,讓我們建立一個包含 ID、客戶姓名、專案和價格等欄位的表。我們首先將專案乘以價格。然後,將記錄類似(即相同的客戶名稱)的行進行相加。

首先,讓我們建立一個表

mysql> create table DemoTable
(
   CustomerId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   CustomerName varchar(100),
   CustomerItems int,
   CustomerPrice int
);
Query OK, 0 rows affected (0.54 sec)

以下是使用 insert 命令在表中插入一些記錄的查詢

mysql> insert into DemoTable(CustomerName,CustomerItems,CustomerPrice)values('Larry',3,450);
Query OK, 1 row affected (0.24 sec)
mysql> insert into DemoTable(CustomerName,CustomerItems,CustomerPrice)values('Mike',2,550);
Query OK, 1 row affected (0.42 sec)
mysql> insert into DemoTable(CustomerName,CustomerItems,CustomerPrice)values('Larry',4,1000);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable(CustomerName,CustomerItems,CustomerPrice)values('Larry',1,100);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable(CustomerName,CustomerItems,CustomerPrice)values('Mike',5,200);
Query OK, 1 row affected (0.71 sec)

以下是使用 select 命令從表中顯示記錄的查詢

mysql> select *from DemoTable;

這將生成以下輸出

+------------+--------------+---------------+---------------+
| CustomerId | CustomerName | CustomerItems | CustomerPrice |
+------------+--------------+---------------+---------------+
|          1 | Larry        |             3 |           450 |
|          2 | Mike         |             2 |           550 |
|          3 | Larry        |             4 |          1000 |
|          4 | Larry        |             1 |           100 |
|          5 | Mike         |             5 |           200 |
+------------+--------------+---------------+---------------+
5 rows in set (0.00 sec)

以下是乘以列(專案 * 價格)然後對記錄類似的行進行求和的查詢

mysql> SELECT CustomerName, SUM( CustomerItems* CustomerPrice) AS TOTAL_PRICE FROM DemoTable
GROUP BY CustomerName;

這將生成以下輸出

+--------------+-------------+
| CustomerName | TOTAL_PRICE |
+--------------+-------------+
| Larry        | 5450        |
| Mike         | 2100        |
+--------------+-------------+
2 rows in set (0.05 sec)

更新於: 2019-07-30

152 次瀏覽

開始您的 職業

透過完成課程獲得認證

開始
廣告