我有一个商店列表,商店内的部门和每个部门的销售情况,如此(使用子查询中的max(sales)创建,但这不是非常重要的我不认为):
- toronto baskets 500
- vancouver baskets 350
- halifax baskets 100
- toronto noodles 275
- vancouver noodles 390
- halifax noodles 120
- halifax fish 200
我想请各个商店最畅销的部门.结果应如下所示:
- toronto baskets 500
- vancouver noodles 275
- halifax fish 200
解决方法
这适用于sql Server(2000及以上肯定)
- SELECT a.Store,a.Department,a.Sales
- FROM temp a
- INNER JOIN
- (SELECT store,max(sales) as sales
- FROM temp
- GROUP BY Store) b
- ON a.Store = b.Store AND a.Sales = b.Sales;