簡體   English   中英

如何總結一個月的每個星期中利用的總時間?

[英]How to sum total time utilize in each week of a month?

在mysql db中,我有一個名為time_utilize的字段,其類型為time ,該字段存儲一天中的總時間,該表包含每個月的記錄。 現在,我想查找用戶在所選月份的每個星期中花費的總時間。 我進行了搜索,但是找到了一個很好的查詢來查找整個月的總時間,即:

SELECT Sec_to_Time(Sum(Time_to_Sec(time_utilize))) FROM attendance WHERE staff_id = 'sajid'

現在,誰能找到一個月中每個星期利用的總時間?

下圖是結果表

假設attendance表中有一個date列attendance_date ,則以下查詢可以為您提供本月每周每周使用的總時間:

SELECT WEEK(`attendance_date`) `attendance_week`,
SEC_TO_TIME(SUM(TIME_TO_SEC(`time_utilize`))) `attendance_time_utilized`
FROM `attendance`
GROUP BY `attendance_week`;

在上面的查詢中, attendance_week被計算為一年中的第幾周,介於1到52之間。

輸出的另一種形式可能是將周顯示為1,2,3,4。 為此,您可以嘗試以下查詢:

SELECT (`attendance_week` - `min_week` + 1) `att_week`, `attendance_time_utilized`
FROM (
    SELECT WEEK(`ATT`.`attendance_date`) `attendance_week`,
    SEC_TO_TIME(SUM(TIME_TO_SEC(`ATT`.`time_utilize`))) `attendance_time_utilized`,
    `T1`.`min_week`
    FROM `attendance` `ATT`
    INNER JOIN (SELECT MIN(WEEK(`attendance_date`)) `min_week` FROM `attendance`) T1
    GROUP BY `attendance_week`
) T2;

希望以上查詢對您有所幫助。 請根據您的架構更改表名和列名。

暫無
暫無

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

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