2
需要根据日期和另一列运行总计的表。说我有如下表名为Sales:使用CROSS JOIN的SQL运行总数
Day Client
1 Smith, J
3 Johnson, B
6 Fuller, A
7 Smith, J
8 Johnson, B
9 Lee, M
我运行下面的查询:
SELECT a.Day, a.Client, SUM(1) AS RunningTotal
FROM Sales a CROSS JOIN Sales b
WHERE (b.Day <= a.Day)
GROUP BY a.Day, a.Client
ORDER BY a.Day
这给了我以下内容:
Day Client RunningTotal
1 Smith, J 1
3 Johnson, B 2
6 Fuller, A 3
7 Smith, J 4
8 Johnson, B 5
9 Lee, M 6
但这只是对了一半。我希望运行总数基于当天和客户端。我想要的表格如下所示:
Day Client RunningTotal
1 Smith, J 1
3 Johnson, B 1
6 Fuller, A 1
7 Smith, J 2
8 Johnson, B 2
9 Lee, M 1
Mashrur:欢迎来到SO。但请注意您的格式和未来的问题。了解您正在使用的RDBMS的风格也很有帮助。对于不同的数据库,这个问题将会有非常不同的方法。 – 2010-12-01 15:14:27