在sql server 2008求助中按组查询

时间:2009-08-25 17:31:36

标签: sql-server-2008

我有这个简单的订单表

Orders
    -------------
    OrderID
    OrderDesc
    OrderDate
    OrderStatus
    OrderAmount

在一个查询中的Sql server中,我如何获取每个Orderdate: - orderstatus = 1的订单总数, - orderstatus = 2的订单总数

由于

3 个答案:

答案 0 :(得分:1)

未经测试或其他任何事情,但您是否尝试过从您的群组中选择计数?

类似的东西:

SELECT Count(OrderStatus) As Amount, OrderDate
FROM Orders
GROUP BY OrderStatus, OrderDate
HAVING OrderStatus = 2 OR OrderStatus = 1

不确定语法,或者在SQL Server中使用HAVING。

答案 1 :(得分:1)

SELECT OrderDate,
Sum(Case When OrderStatus = 1 Then 1 Else 0 End) AS TotalOrderStatusOne,
Sum(Case When OrderStatus = 2 Then 1 Else 0 End) AS TotalOrderStatusTwo
FRMO Orders
GROUP BY OrderDate
如果你想要每个OrderDate一行,

会给你你想要的东西。如果你有太多的OrderStatus值,那就太乱了。

答案 2 :(得分:0)

抱歉,我正在寻找类似的东西:

OrderStatus的OrderDate记录= OrderStatus = 2的记录 1-Aug-09 10 20 2-Aug-09 20 10

谢谢