首页 > 解决方案 > SQL日期时间查询

问题描述

需要帮助来获取特定格式的数据我们有一个表格,其中有一个生产数据,现在我们需要选择特定时间段的每一天的数据,以区分 A、B、C 三个班次。

在我们的表格中,我们有一个 datetime 列,它捕获每秒的数据,因为我们需要按班次(如早上 6 点到下午 2 点)的轮班生产计数和班次 B 的下午 2 点到晚上 10 点和班次 C 的晚上 10 点到早上 6 点的数据。我得到了我编写了以下查询的单日数据,该查询运行良好。

 select distinct(count(PRD_SERIAL_NUMBER)),(select convert(date,getdate())) as date,'B' as shift_name  
from table_name
where status=02 
and LAST_UPDATED_DATE 
between (SELECT FORMAT(GETDATE(),'yyyy-MM-dd 14:01:00.000')) and 
 (SELECT FORMAT(GETDATE()-26,'yyyy-MM-dd 22:01:00.000')) 

请参阅下面的输出图像 1

在此处输入图像描述

在这里,我得到了单日的计数,对于接下来的几天我有解决方案,但现在出现的问题是我有过去 4 个月的数据,我需要按日期和按移位计数,并且列 prd_serial_number 有重复的条目,所以它应该分明。请参阅下图 2 了解所需的输出格式

在此处输入图像描述

标签: sqlsql-serversql-server-2012

解决方案


推荐阅读