簡體   English   中英

在Sql中按日期和同一日期的兩個不同時間分組

[英]group by date and two different times in the same date in Sql

我想從我的數據庫中選擇數據

在日期和同一日期的兩個不同時間之間

但是當我在其中一個變體中使用 Sum 時,它給了我錯誤的結果

我認為問題出在組中

這是我的例子

date_0 = str(self.dateEdit_49.text())
        date_1 = str(self.dateEdit_47.text()) 

        selected_day = self.dateEdit_49.date()
        last_day = selected_day.addDays(-1)
        last_day_str = last_day.toString(self.dateEdit_49.displayFormat())

'''SELECT date_d, SUM(montant) FROM transactions 
WHERE (date_d, time_d) > (%s::date, '16:00:00'::time) 
AND (date_d, time_d) < (%s::date, '16:00:00'::time) 
GROUP BY (date_d)''',(last_day_str, date_1))

我如何將結果與日期分組,但日期就像這張圖片在此處輸入圖片說明

你似乎想要:

SELECT date_d, SUM(montant) 
FROM transactions 
WHERE date_d + time_d > %s::date + '16:00:00'::time
  AND date_d + time_d < %s::date + '16:00:00'::time
GROUP BY date_d

如果您想生成從下午 4 點開始到第二天下午 4 點的行組,那么我們可以偏移日期。 一個子查詢很方便:

SELECT new_dt, SUM(montant) 
FROM (
    SELECT t.*, date_d + time_d - interval '16 hour' new_dt 
    FROM transactions t
) t
WHERE new_dt > %s::date
  AND new_dt < %s::date
GROUP BY new_dt

暫無
暫無

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

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