Oracle SQL测试2

cid  Region(区域)   Saler (销售员)  Money(合同金额 )
  1         北京           杨建               100
  2         上海           社长               200
  3         杭州           副团               500
  4         上海           社长               200
  5         上海           杨建               400
  6         北京           社长               300
  7         北京           杨建               200
  8         杭州           副团               100


1. 查询每个区域有多少个销售人员并按区域倒叙排列
SELECT t.region,COUNT(t.saler) FROM ( SELECT region,saler,COUNT(saler) FROM test GROUP BY region,saler ORDER BY region DESC) t GROUP BY t.region

2. 查询所有相同区域中合同金额最少的区域
SELECT region,MIN(money) money FROM test GROUP BY region

3. 查询表中合同金额小于所在区域平均合同金额的合同 id
SELECT t.cid FROM test t,(SELECT region, AVG(money) money FROM test GROUP BY region) t2
WHERE t.region = t2.region AND t.money < t2.money
或者
SELECT t.cid FROM test t WHERE t.money < ( SELECT AVG (money) FROM test t2 WHERE t.region = t2.region GROUP BY t2.region)
  

猜你喜欢

转载自southking.iteye.com/blog/1728004