SQL选择并计算之前发生的所有项目

Mat*_*att 2 sql count

我有一个表格,其中的行符号表示订单日期:

2009-05-15 13:31:47.713 
2009-05-15 22:09:32.227
2009-05-16 02:38:36.027
2009-05-16 12:06:49.743
2009-05-16 16:20:26.680
2009-05-17 01:36:19.480
2009-05-18 09:44:46.993
2009-05-18 14:06:12.073 
2009-05-18 15:25:47.540
2009-05-19 10:28:24.150 
Run Code Online (Sandbox Code Playgroud)

我想要查询返回以下内容:

2009-05-15 2
2009-05-16 5
2009-05-17 6
2009-05-18 9
2009-05-19 10
Run Code Online (Sandbox Code Playgroud)

基本上它保持在所示日期结束时所有下达的订单的总计.订单不是当天的订单,而是自表格中最早日期以来的所有订单.

这是MSSQL 2000,第一个表中的数据类型只是日期时间,在第二个表中可能是datetime或string,它对我的​​目的并不重要.

Jam*_*MLV 7

我得到了这个在SQL Server 2005上工作.我认为它也适用于2000.

SELECT dt, count(q2.YourDate)
    FROM (SELECT DISTINCT CONVERT(varchar,YourDate,101) dt FROM YourTable) t1
    JOIN YourTable q2 ON DATEADD(d,-1,CONVERT(varchar,YourDate,101)) < dt
    GROUP BY dt
Run Code Online (Sandbox Code Playgroud)

这将查询表两次,但至少给出正确的输出.