我有一个名为DTUpdated的字段,它是一个时间戳字段。
我正在尝试选择xx旧行中日期的计数。即0-3个月,3-6个月等。
我还没有到选择的写入日期选择标准,因为我被困在获取查询的第一部分,只需在结果窗格中计算每天发生的事件。
到目前为止,我的查询如下所示,但它没有按返回的天数对数据进行分组。
SELECT CONVERT(VARCHAR(10),[SCAData].[dbo].[Camera].[DTUpdated],105) AS Date_Updated,
COUNT(DTUpdated) AS No_of_Rows
FROM [SCAData].[dbo].[Camera]
GROUP BY DTUpdated
ORDER BY DTUpdated; 结果:
Date_Updated No_of_Rows
03-10-2006 1
03-10-2006 1
05-10-2006 1
05-10-2006 1
05-10-2006 1
05-10-2006 1
05-10-2006 1
05-10-2006 1
05-10-2006 1
06-10-2006 1
06-10-2006 1
06-10-2006 1
06-10-2006 1
06-10-2006 1有人能帮助或者建议如何根据过去3个月,3-6个月的日期选择来拿回这些吗?
在此之前,非常感谢您。
发布于 2021-01-08 17:49:22
由于列类型是日期时间,而这是Server 2016,因此将其转换为日期很容易:
SELECT CONVERT(Date,[SCAData].[dbo].[Camera].[DTUpdated]) AS Date_Updated,
COUNT(DTUpdated) AS No_of_Rows
FROM [SCAData].[dbo].[Camera]
GROUP BY CONVERT(Date,[SCAData].[dbo].[Camera].[DTUpdated])
ORDER BY 1; 如果您真的想通过VARCHAR字段执行此操作,只需这样做:
SELECT CONVERT(VARCHAR(10),[SCAData].[dbo].[Camera].[DTUpdated],105) AS Date_Updated,
COUNT(DTUpdated) AS No_of_Rows
FROM [SCAData].[dbo].[Camera]
GROUP BY CONVERT(VARCHAR(10),[SCAData].[dbo].[Camera].[DTUpdated],105)
ORDER BY 1; https://dba.stackexchange.com/questions/282757
复制相似问题