最近,看了下Mysql,发现了一个挺有意思的题。
因为avg获取的是标量(单一)结果,所以想直接通过select avg(sale_price) from product只能获得到一行结果.上图结果,获取不了.
想了下,想到了可能select 字段(这个位置也能嵌套),接输入以下代码试了下.
select product_id,product_name,product_type,sale_price,(select avg(sale_price) from product) as sale_price_all
from product;
就可以得到正确结果了,作为自己接触SQL的一个有趣的一刻把.
顺便在来个题,跟上面类似,使用关联子查询完成
select product_id,product_name,product_type,sale_price,
(select avg(sale_price) from product as p2
where p1.product_type=p2.product_type
group by product_type)
as avg_sale_price
from product as p1;