sql—如何每天为每个班次获取数据

j8yoct9x  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(293)

我正试图弄清楚如何在两年内每周的每一天每班返回数据。每天有两个12小时的班次。白班(早上6点到晚上6点)夜班(晚上6点到早上6点)。在下面附上的图片是结果,我正在寻找。每列1 DayGas和1 NightGas代表每班一件设备(不是第一天)。下面的select语句不能提供我要查找的数据。它只返回今天的数据。

SELECT DateTm, FurnNbr, sum(usage) Total
FROM GasUsage
Where DateTm >= cast(getdate() as date)
and DateTm < cast(getdate()+1 as date) and FurnNbr > 0
Group By DateTm, FurnNbr Order By FurnNbr

这一个按炉子总数给我上白班。

SELECT FurnNbr, sum(usage) Dayshift
FROM GasUsage
Where DateTm >= DATEADD(HOUR,6,CONVERT(VARCHAR(10), GETDATE(),110)) and DateTm <= DATEADD(HOUR,18,CONVERT(VARCHAR(10), GETDATE()+1,110)) and FurnNbr > 0
Group by FurnNbr



日班按炉计算。

atmip9wb

atmip9wb1#

似乎您的where语句只选择今天的行
其中datetm比“今天”新,datetm比“明天”旧,furnnbr大于0
你可以试着用“中间”代替,它更容易阅读。。。其中datetm介于“date1”和“date2”之间
如果在gasausage表中公布中的数据是如何构造的,则更容易获得帮助。

相关问题