在 MYSQL 中查找重复产品 id 中对应记录(产品价格)的平均值


为此,使用 AVG() 度量平均值以及 GROUP BY 对重复列(产品 ID)的记录分组。我们先创建一个表格 −

mysql> create table DemoTable1490
   -> (
   -> ProductId varchar(20),
   -> ProductPrice int
   -> );
Query OK, 0 rows affected (0.43 sec)

使用插入命令在表格中插入一些记录 −

mysql> insert into DemoTable1490 values('PRODUCT_100',700);
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable1490 values('PRODUCT_200',500);
Query OK, 1 row affected (0.31 sec)
mysql> insert into DemoTable1490 values('PRODUCT_200',1000);
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable1490 values('PRODUCT_100',1300);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1490 values('PRODUCT_200',300);
Query OK, 1 row affected (0.14 sec)

使用选择语句显示表格中的所有记录 −

mysql> select * from DemoTable1490;

这将生成以下输出 −

+-------------+--------------+
| ProductId   | ProductPrice |
+-------------+--------------+
| PRODUCT_100 |          700 |
| PRODUCT_200 |          500 |
| PRODUCT_200 |         1000 |
| PRODUCT_100 |         1300 |
| PRODUCT_200 |          300 |
+-------------+--------------+
5 rows in set (0.00 sec)

这是查找平均值所需的查询 −

mysql> select ProductId,avg(ProductPrice) from DemoTable1490
   -> group by ProductId;

这将生成以下输出 −

+-------------+-------------------+
| ProductId   | avg(ProductPrice) |
+-------------+-------------------+
| PRODUCT_100 |         1000.0000 |
| PRODUCT_200 |          600.0000 |
+-------------+-------------------+
2 rows in set (0.03 sec)

更新时间:11-Dec-2019

359 次浏览量

开启你的职业生涯

完成课程以获取认证

开始
广告