我正在努力完成一项简单的任务: 我有一张表如下:
ID UserID OrderID Quantity Price ItemID Status
1 John 25 2 3.50 ... Open
2 Jack 26 1 2.00 ... Open
3 John 27 2 1.25 ... Open
4 John 28 3 1.50 ... Closed
需要知道约翰有多少订单开放
我构建了如下简单查询:
select count(ID) cnt from Orders where UserID='John' and Status='Open'
现在我还需要检查未结订单的总金额 但是以下列方式更改查询
select count(ID) as cnt, Quantiy*Price as Amount from Orders where UserID='John'...
不起作用
也许我可以从@@ RowCount获得订单数量,但我想知道是否有更好的解决方案
由于
答案 0 :(得分:1)
您不能在Count(*)
中使用非聚合列和Select
,除非它们位于Group By
使用SUM
汇总来获取John
select count(ID) as cnt,
sum(Quantiy*Price) as Amount
from Orders
where UserID='John' and Status='Open'