SELECT product_id,product_name,product_type,sale_price,
AVG(sale_price) AS sale_price_all
FROM product;
SELECT product_id,product_name,product_type,sale_price,
(SELECT AVG(sale_price) FROM Product) AS sale_price_all
FROM product;
SQL AVG 函数返回数值列的平均值。
SELECT product_id,product_name,product_type,sale_price,
AVG(sale_price) AS sale_price_all
FROM product;
第一个SQL语句因为没有分组,所以查询的是全部的列,针对每列的sale_price字段进行了取平均值,得出的结果也就是sale_price原有的值。
SELECT product_id,product_name,product_type,sale_price,
(SELECT AVG(sale_price) FROM Product) AS sale_price_all
FROM product;
第二个SQL语句相当于增加了一个子查询,所查询的也是全部的列,而sale_price_all显示的内容是全部表中sale_price的平均值,得出的结果是每行的sale_price_all是一致的。
所以你可能想要实现的功能是,按照某一列字段分组后求平均值,例如
SELECT product_id,
AVG(sale_price) AS sale_price_all
FROM product GROUP BY product_id;