两个表售销排行榜的查询
有两个表,一个是人员表User表 一个是销售表Order表
表情况如下:
User表
UserID UserName
1 小一
2 小二
3 小三
4 小四
Order表
OrderID OrderName OrderUnit OrderNum UserID
1 产品一 3 1 2
2 产品二 5 1 1
3 产品四 3 1 2
4 产品一 3 1 2
5 产品三 3 1 2
6 产品二 5 1 3
7 产品一 3 1 2
想做一个按售销排行榜
比如第一名是谁 销售是多少!这样子排开
[解决办法]
你这个订单表设计的有点。。。
--按订单数select User.UserID, min(User.UserName) 姓名, count([Order].OrderID) 订单数量from [User] left join [Order] on User.UserID=[Order].UserIDgroup by User.UserIDorder by 订单数量 desc;--按销售数select User.UserID, min(User.UserName) 姓名, sum(OrderUnit*OrderNum) 销售数量from [User] left join [Order] on User.UserID=[Order].UserIDgroup by User.UserIDorder by 销售数量 desc;
[解决办法]
--各个产品的销量情况select b.[UserName],a.[OrderName],sum(a.[OrderUnit]*a.[OrderNum]) 销量 from [Order] a,[User] bwhere a.[UserID]=b.[UserID]group by b.[UserName],a.[OrderName]order by a.[OrderName],sum(a.[OrderUnit]*a.[OrderNum]) desc--总的销量情况select b.[UserName],sum(a.[OrderUnit]*a.[OrderNum]) 销量 from [Order] a,[User] bwhere a.[UserID]=b.[UserID]group by b.[UserName]order by sum(a.[OrderUnit]*a.[OrderNum]) desc
[解决办法]