首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以短日期格式选择时间戳格式化字段的计数,以提供行数。

以短日期格式选择时间戳格式化字段的计数,以提供行数。
EN

Database Administration用户
提问于 2021-01-07 15:59:57
回答 1查看 945关注 0票数 0

我有一个名为DTUpdated的字段,它是一个时间戳字段。

我正在尝试选择xx旧行中日期的计数。即0-3个月,3-6个月等。

我还没有到选择的写入日期选择标准,因为我被困在获取查询的第一部分,只需在结果窗格中计算每天发生的事件。

到目前为止,我的查询如下所示,但它没有按返回的天数对数据进行分组。

代码语言:javascript
复制
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; 

结果:

代码语言:javascript
复制
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个月的日期选择来拿回这些吗?

在此之前,非常感谢您。

EN

回答 1

Database Administration用户

回答已采纳

发布于 2021-01-08 17:49:22

由于列类型是日期时间,而这是Server 2016,因此将其转换为日期很容易:

代码语言:javascript
复制
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字段执行此操作,只需这样做:

代码语言:javascript
复制
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; 
票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/282757

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档