根据MySQL中的条件对列求和
让我们首先创建一个表-
mysql> create table DemoTable ( CustomerId int NOT NULL AUTO_INCREMENT PRIMARY KEY, ProductAmount int, CustomerCountryName varchar(10) );
使用插入命令在表中插入一些记录-
mysql> insert into DemoTable(ProductAmount,CustomerCountryName) values(190,'US'); mysql> insert into DemoTable(ProductAmount,CustomerCountryName) values(200,'UK'); mysql> insert into DemoTable(ProductAmount,CustomerCountryName) values(1500,'AUS'); mysql> insert into DemoTable(ProductAmount,CustomerCountryName) values(2010,'US'); mysql> insert into DemoTable(ProductAmount,CustomerCountryName) values(7890,'UK'); mysql> insert into DemoTable(ProductAmount,CustomerCountryName) values(500,'US');
使用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)