查询每个栏目下商品的平均价格,并且取平均价格的前3
```sql
select cat_id,avg(shop_price) as pj from goods group by cat_id
order by avg(shop_price) desc limit 3;
```
查询平均价格由高到低,第三到第五的栏目下商品的平均价
```sql
select cat_id,avg(shop_price) as pj from goods group by cat_id
order by avg(shop_price) desc limit 2,3;
```
如果频繁的用到栏目商品平均价的表A,可以把A保存为一张表,下次来查询这张表。
但是,如果goods表又添加了新的商品,A就与保存的临时表不一样了。
这个不同步的问题可以用视图来解决。
view可以看做一张虚拟表,是表通过某种运算得到的一个投影,表的变化会影响视图的变化
当视图里的数据与表一一对应时(如果使用了order by和limit,得到的结果就不是与表一一对应了)ÿ