日期:2014-05-18  浏览次数:20464 次

请教一个mysql查询语句问题
已知表orders:region为地区,order为订单金额。id为订单号
id region saleman order
1 A 张三 1000.0
2 A 李四 1200.0
3 A 张三 1300.0
4 A 李四 1000.0
5 B 王五 1800.0
6 B 赵六 1500.0
7 C 黄七 1600.0
8 C 黄七 1400.0
9 C 周八 1550.0

求:找出不同区域的销售人员的订单金额大于本地区平均值的订单编号及销售人员。


跪求sql查询语句
 


------解决方案--------------------
SQL code

with temp as
(
    select region, avg([order]) as avgOrder
    from test
    group by region
)
select test.*
from test
inner join temp on temp.region = test.region
where test.[order] > temp.avgOrder

------解决方案--------------------
SQL code
SELECT * FROM orders AS o
WHERE `order` > (SELECT AVG(`order`) FROM orders
                 WHERE o.region=region)