Sql server 如何在SQL Server中编写查询以捕获上月数据?
我的问题陈述是试图捕获上个月的数据,使用数据集的maxdate。例如,如果我的最大出院日期=2020年4月12日 我希望我的查询能够捕获2020年3月1日至2020年3月31日的数据Sql server 如何在SQL Server中编写查询以捕获上月数据?,sql-server,date,Sql Server,Date,我的问题陈述是试图捕获上个月的数据,使用数据集的maxdate。例如,如果我的最大出院日期=2020年4月12日 我希望我的查询能够捕获2020年3月1日至2020年3月31日的数据 select [ENC_KEY_MAIN], MAX([Discharge Date]) AS LastActivity from vw_HOME_CLINTIGRITY group by [ENC_KEY_MAIN] having MAX([Discharge Date]) < DATEADD(MM,
select [ENC_KEY_MAIN], MAX([Discharge Date]) AS LastActivity
from vw_HOME_CLINTIGRITY
group by [ENC_KEY_MAIN]
having MAX([Discharge Date]) < DATEADD(MM, -3, MAX([Discharge Date]));
您可以使用EOMONTH和DATEADD作为
这是一个声明@dt int=select monthmax[出院日期]-1,来自vw\u HOME\u Clintity 选择[ENC_KEY_MAIN]、DATENAMEMONTH、getdate-29作为LastActivity 来自大众汽车之家
其中月份[出院日期]=@dt请提供样本数据和您的尝试。我猜该列是日期而不是日期DATETIME@AaronBertrand我希望我的查询能够捕获2020年3月1日至2020年3月31日的数据。因此OP希望过滤数据maxdischarge日期根据上传的数据集不断变化。是否最好只标记一行的月份yyyy,然后只选择maxmonth之前的月份@Aaronbertrand最大出院日期根据上传的数据集不断变化。是否最好只标记一行的月份yyyy,然后只选择maxmonth之前的月份@萨米人
DECLARE @MXD DATE = (SELECT EOMONTH(MAX(Col), -1) FROM Table);
SELECT *
FROM Table
WHERE Col <= @MXD
AND
Col >= DATEADD(Day, -(DAY(@MXD)-1), @MXD);