Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SELECT
- SEC_TO_TIME(SUM(TIME_TO_SEC(TIME(end_time)) - TIME_TO_SEC(TIME(start_time)))), user_id, DATE(start_time)
- FROM
- (SELECT
- start_time, CASE WHEN TIME(end_time) > '09:00:00' THEN DATE_ADD(DATE(end_time), INTERVAL 9 HOUR) ELSE end_time END AS end_time, user_id
- FROM
- meetings
- WHERE
- TIME(start_time) < '09:00:00'
- UNION
- SELECT
- CASE WHEN TIME(start_time) < '17:00:00' THEN DATE_ADD(DATE(start_time), INTERVAL 17 HOUR) ELSE start_time END AS start_time, end_time, user_id
- FROM
- meetings
- WHERE
- TIME(end_time) > '17:00:00') AS clamped_times
- GROUP BY user_id, DATE(start_time)
Advertisement
Add Comment
Please, Sign In to add comment