我有一个商店列表,商店内的部门和每个部门的销售情况,如此(使用子查询中的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;