如何解决如何总结一个月的每个星期中利用的总时间?
| 在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;
希望以上查询对您有所帮助。请根据您的架构更改表名和列名。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。