2011-03-21 129 views
0

取而代之的是使用子查询:在聚合表达式

SELECT Customer,SUM(OrderPrice) FROM Orders 
GROUP BY Customer 

我如何得到类似以上,但由子查询产生的计数。

SELECT Customer,Count(select * from Orders where o.idUser = u.idUser) FROM Orders o 
inner join Users u on u.idOrder = o.idOrder 
GROUP BY Customer 

THX

+0

你能你想要什么更清晰?你想获得'OrderPrice' **和** COUNT'的SUM,或者你想使用** COUNT'来获得'SUM' ** ...为什么你加入另一张桌子? – Lamak 2011-03-21 14:35:46

+0

我想要订单的订单数量(计数) - 加入的那里有助于解决下一个问题。现在我不确定这是否合适。我可能不得不编辑OP来澄清。 thx – justSteve 2011-03-21 15:21:52

回答

0

这应该做的,我认为没有必要包括在Topquery订单:

SELECT u.Customer, (SELECT COUNT(*) FROM Orders o WHERE o.idUser = u.idUser) 
FROM Users u 
+0

我相信,'客户'是'订单'中的一列,而不是'用户'。 – 2011-03-21 15:09:25