Sql server 2008 sql server 2008帮助中的查询分组

Sql server 2008 sql server 2008帮助中的查询分组,sql-server-2008,Sql Server 2008,我有一张简单的订单表 Orders ------------- OrderID OrderDesc OrderDate OrderStatus OrderAmount 在Sql server的一次查询中,如何获取每个订单日期: -orderstatus为1的订单总数, -orderstatus为2的订单总数 谢谢未测试或其他任何东西,但您是否尝试过从您的组中选择计数 比如: SELECT Count(OrderStatus) As Amount,

我有一张简单的订单表

Orders
    -------------
    OrderID
    OrderDesc
    OrderDate
    OrderStatus
    OrderAmount
在Sql server的一次查询中,如何获取每个订单日期: -orderstatus为1的订单总数, -orderstatus为2的订单总数


谢谢

未测试或其他任何东西,但您是否尝试过从您的组中选择计数

比如:

SELECT Count(OrderStatus) As Amount, OrderDate
FROM Orders
GROUP BY OrderStatus, OrderDate
HAVING OrderStatus = 2 OR OrderStatus = 1
但不确定语法,或者SQL Server中是否使用了have

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的值太多,则会变得混乱。

很抱歉,我正在查找类似的内容:

OrderStatus为1的OrderDate记录OrderStatus为2的记录 2009年8月1日10 20 2009年8月2日20 10


谢谢

你的问题措辞不清楚。您可能希望在修改之前解决此问题。与其添加包含更多详细信息的答案,不如编辑您的问题。