mysql 题 大家帮我看看哪里错了
P
id name price type
1 冰箱 1500 家电
2 苹果 3 水果
3 电视 600.0 家电
4 李子 7 水果
5 台灯 20.0 家电
C
acid acname acadress
1 张三 北京
2 李四 上海
3 王五 天津
O
acid id amount
1 1 12
3 1 1
2 2 3
1 3 1
1 2 4
3 5 4
求取销售额最少的前三种商品名称以及成交总额
select * from (select * from
(select o.acid,p.name,sum(o.amount*p.price) as total from O o left join P p on p.id=o.id group by o.acid,p.name ) order by total) limit 0,3
------解决方案--------------------
在表p中就没有na_me这列 应该是这样写的
select t.name,t.total from (
select o.acid,p.name,sum(o.amount*p.price) as
total from O o left join P p on p.id=o.id
group by o.acid,p.name order by total
) t limit 0,3
希望对你有用。。如果可以给我写分。。急用要下载东西。
------解决方案--------------------我觉得应该是right join P 吧。。
因为你要列出的是所有商品,只是取前3个而已,应该 order by total asc limit 0,3.