如何在MSSQL中查找去年的WTD(截至目前的一周)数据?
这是我找到的今年迄今为止的一周 我得到了今年的查询,但我需要知道如何编写去年4-5-4日历日期的查询 如果我今天提取报告,那么日期范围应该如下 今年WTD日期范围应为2017年6月11日至2017年6月13日 去年WTD日期范围应为2017年6月12日至2017年6月14日 有人能给我提供去年WTD的建议吗 谢谢大家!如何在MSSQL中查找去年的WTD(截至目前的一周)数据?,sql,sql-server,sql-server-2008,date,Sql,Sql Server,Sql Server 2008,Date,这是我找到的今年迄今为止的一周 我得到了今年的查询,但我需要知道如何编写去年4-5-4日历日期的查询 如果我今天提取报告,那么日期范围应该如下 今年WTD日期范围应为2017年6月11日至2017年6月13日 去年WTD日期范围应为2017年6月12日至2017年6月14日 有人能给我提供去年WTD的建议吗 谢谢大家! SELECT MAX(te.StoreID) AS StoreID,
SELECT MAX(te.StoreID) AS StoreID,
SUM(te.Price * te.Quantity) AS Sales,
SUM(te.Cost * te.Quantity) AS Cost,
COUNT(DISTINCT t.TransactionNumber) AS Trxn,
SUM(te.Quantity) AS Quantity
FROM TransactionEntry te
INNER JOIN [Transaction] t
ON te.TransactionNumber = t.TransactionNumber
AND te.StoreID = t.StoreID
LEFT JOIN item i
ON te.itemID = i.ID
LEFT JOIN Department d
ON i.DepartmentID = d.ID
WHERE d.ID <> 8
AND CONVERT(date, t.Time) >= dateadd(day, 1-datepart(dw, getdate()), convert(date, getdate()))
AND CONVERT(date, t.Time) <= dateadd(day, 8-datepart(dw, getdate()), convert(date, getdate()))
GROUP BY te.StoreID) AS TYWTD
从GetDate中减去一年就可以了
dateadd(day, 1-datepart(dw, DateAdd(year,-1,getdate())), convert(date, DateAdd(year,-1,getdate())))
这将产生2016-06-12
这是更新后的脚本。
再次更新
从GetDate中减去一年就可以了
dateadd(day, 1-datepart(dw, DateAdd(year,-1,getdate())), convert(date, DateAdd(year,-1,getdate())))
这将产生2016-06-12
这是更新后的脚本。
再次更新
向您的数据库中添加日期是简化此类查询的好方法。您不是说去年WTD的日期范围应该是6/12/16-6/14/16吗?糟糕!是的,你是对的!LYWTD应该是6/12/16-6/14/16!向您的数据库中添加日期是简化此类查询的好方法。您不是说去年WTD的日期范围应该是6/12/16-6/14/16吗?糟糕!是的,你是对的!LYWTD应该是6/12/16-6/14/16!数据已验证且有效!!!!我确实更新了第二部分,它工作了!!!再次感谢大家!!!!数据已验证且有效!!!!我确实更新了第二部分,它工作了!!!再次感谢大家!!!!