簡體   English   中英

SQL 語句在兩天而不是午夜獲取每日總計

[英]SQL Statement to get Daily Totals across two days instead of Midnight

我最近寫了一個查詢來獲取一個月內的每日總數。 查詢工作得很好,但它從午夜到午夜。 我需要找到從早上 7:15 到第二天早上 7:15 的總數。 我們從 7:15 開始三班倒。

SELECT CONVERT(datetime,CAST(t_stamp AS DATE)), COUNT(bottles) AS 'Good Bottles'
FROM bottles
WHERE t_stamp
    BETWEEN starrt
    AND end
GROUP BY CAST(t_stamp AS DATE)
ORDER BY CAST(t_stamp AS DATE) ASC

只需減去一個偏移量。 一個簡單的方法是:

SELECT CAST(DATEADD(minute, -(7 * 60 + 15), t_stamp) AS DATE),
       COUNT(bottles) AS GoodBottles
FROM bottles
WHERE t_stamp BETWEEN starrt AND end
GROUP BY CAST(DATEADD(minute, -(7 * 60 + 15), t_stamp) AS DATE)
ORDER BY CAST(DATEADD(minute, -(7 * 60 + 15), t_stamp) AS DATE) ASC;

請注意, end是一個非常糟糕的列名稱,因為它是一個 SQL 關鍵字。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM