如何乘以列,然後對類似記錄(如客戶名)進行行求和?
為了理解這一點,讓我們建立一個包含 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)
廣告