如何总结一个月的每个星期中利用的总时间?

问题描述

| 在mysql db中,我有一个名为time_utilize的字段,其类型为time,用于存储一天中的总时间,该表包含每个月的记录。现在,我想查找用户在所选月份的每个星期中花费的总时间。我进行了搜索,但是找到了一个很好的查询来查找整个月的总时间,即:
SELECT Sec_to_Time(Sum(Time_to_Sec(time_utilize))) FROM attendance WHERE staff_id = \'sajid\'
现在谁能找到一个月中每个星期利用的总时间?     

解决方法

        假设
attendance
表的日期列为
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;
希望以上查询对您有所帮助。请根据您的架构更改表名和列名。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...