0

我本质上是在执行以下查询(已编辑):

Select count(orders)
From Orders_Table
Where Order_Open_Date<=##/##/####
and Order_Close_Date>=##/##/####

##/##/##### 是同一日期。所以本质上是任何一天的“未结”订单数量。但是,我希望一年中的每一天都具有相同的计数,并且不想为全年的每一天编写单独的查询。很抱歉,这可能真的很简单,但我是 SQL 新手,我想我不知道如何搜索这个问题的答案,因为我的搜索一无所获。谢谢你尽你所能的帮助。

4

3 回答 3

1

为什么不

select Order_Date, count(orders) from Orders_Table group by Order_Date

和去年

select Order_Date, count(orders) from Orders_Table where Order_Date > DATE_SUB(CURDATE(), INTERVAL 1 YEAR) group by Order_Date;
于 2013-05-12T22:26:29.210 回答
0
SELECT CONVERT(VARCHAR, Order_Date, 110), count(orders)
    FROM Orders_Table
    WHERE Order_Date = BETWEEN @A AND @B
    GROUP BY CONVERT(VARCHAR, Order_Date, 110) 
于 2013-05-12T22:27:45.420 回答
0

如果您想拥有一年中的一天,包括那些没有订单的日子,您将需要生成一个包含范围内每个日期的临时表或类似的表,并将其左/右连接到 Orders_Table 数据。这取决于您使用的 RDBMS。在 SQL Server 中,我使用返回表变量的用户定义函数来完成此操作。

于 2013-05-13T00:03:28.650 回答