【发布时间】:2011-09-21 16:03:54
【问题描述】:
为什么这两个语句返回相同的结果?我正在查看一些出版物的订单总数和价格总和。第一个语句获取过去 24 小时的记录,第二个语句应该显示相同的总和,但从月初到当前日期。当我查看它们正在填充的网格视图时,看起来它们都在显示过去 24 小时的总和。有什么值得注意的吗?
SELECT pubName AS Publication, COUNT(*) AS Total, '$' + CONVERT(VARCHAR(12), SUM(CAST(price AS DECIMAL))) AS Price FROM [SecureOrders] WHERE DateTime >= DATEADD(day, -1, GETDATE()) GROUP BY pubName
SELECT pubName AS Publication, COUNT(*) AS Total, '$' + CONVERT(VARCHAR(12), SUM(CAST(price AS DECIMAL))) AS Price FROM [SecureOrders] WHERE DateTime >= DATEADD(DAY, 1-DAY(GETDATE()), DATEDIFF(DAY, 0, GETDATE())) GROUP BY pubName
【问题讨论】:
-
尝试在 SSMS 中运行查询。如果您在本月 1 日和昨天这个时间之间有订单,他们应该会返回不同的结果。想知道您是否在代码中遇到了一些缓存问题。