sql - 在 SQL Server 中将星期一的数据与之前星期一的数据进行比较

标签 sql sql-server tsql sql-server-2008

我正在尝试弄清楚如何将当天的数据与一周前、两周前等的相同数据进行比较。假设我有一个名为“订单”的表,其中有 2 列:

Order table
-----------
OrderID int identity
OrderDate datetime

如果今天是星期一,我希望能够比较今天和前几个星期一全年的订单数量。这可以通过单个 SQL Server 查询实现吗?如果有什么不同的话,我正在使用 SQL 2008。

最佳答案

select CAST (OrderDate  as date) as [Date], COUNT(*)
from Orders
where OrderDate  > DATEADD(YEAR,-1, getdate()) 
     and DATEPART(DW,OrderDate ) = DATEPART(DW,GETDATE())
group by CAST (OrderDate  as date)

关于sql - 在 SQL Server 中将星期一的数据与之前星期一的数据进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3825334/

相关文章:

java - SQL:比较两个表

php - PDO INSERT准备好的语句,没有错误,但未插入数据

sql - 高效地遍历每一行?

sql - T SQL 每天只选择第一条记录

c# - Linq to SQL with Left Outer Join and Group By With Sum - 如何

C# - INSERT 到 DB 的 MySQL 语法错误

sql - 用户在 Where 子句中创建的函数

sql-server - 在 SQL Server Management Studio 中,如何设置键盘快捷键以便 ctrl+w 关闭 XML 窗口?

SQL返回不同的值然后按日期过滤

tsql - Invoke-Sqlcmd有时会报告TSQL错误,有时却不会。