Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何在SQL Server中编写查询以捕获上月数据?_Sql Server_Date - Fatal编程技术网

Sql server 如何在SQL Server中编写查询以捕获上月数据?

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,

我的问题陈述是试图捕获上个月的数据,使用数据集的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, -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);