[英]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.