簡體   English   中英

如何 SELECT 兩個日期之間的日期

[英]How to SELECT a date between two dates

如何從 mysql 和 php 的 select 到 2 個日期之間的范圍? 例如,工作日從 2022 年 1 月 1 日上午 7:00 開始,到 2022 年 1 月 2 日凌晨 2:00 結束。 我希望從 2022 年 1 月 2 日凌晨 00:00 到凌晨 2:00 收集的所有數據都分組在上一個日期內。

現在我使用這個查詢

 SELECT date_format(dateAdded,"%m-%d") as mth,COUNT(productID) as total, productID FROM statisticsNW WHERE userID = "35" AND productID = "1193'" AND YEAR(dateAdded) = "2022" AND month(dateAdded) = "01" GROUP by year(dateAdded),month(dateAdded), day(dateAdded) ORDER by year(dateAdded),month(dateAdded)

結果是這樣,但“總數”是錯誤的,因為是同一天的 00:00 到 23:59。 我想要的正確查詢是從第二天的 7:00 到 6:59。 但是從00:00到6:59的數據必須在前一天計算。

在此處輸入圖像描述

您可以將 5 小時添加到 start_time 和 end_time,因此看起來輪班從午夜開始

select DATEDIFF(HH,cast('2022-01-24 19:00:00' as datetime),cast('2022-01-25 00:00:00' as datetime)) as time_5_hrs

結果

select dateadd(HOUR,5,cast('2022-01-02 19:00:00' as datetime)) as starttime, dateadd(HOUR,5,cast('2022-01-03 02:00:00' as datetime)) as endtime,datediff(HH,dateadd(HOUR,5,cast('2022-01-02 19:00:00' as datetime)),dateadd(HOUR,5,cast('2022-01-03 02:00:00' as datetime))) diff

在此處輸入圖像描述

通過這樣做,您可以獲得兩個日期相同,並且您可以將其分組為一天。

我已經解決了

SELECT DATE_SUB(DATE_ADD("2017-06-15 5:30:00", INTERVAL 24 HOUR), INTERVAL 1 MINUTE); 

暫無
暫無

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

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