mysql - 从计算的时差查询中减去时间
问题描述
我的查询遇到问题我存储用户登录 time_in 和 time_out 以及一个名为 break 的列名,我在其中手动输入用户休息的时间,假设一个小时,然后 01:00:00 我将其存储在 break 列上并获取我使用的用户的总登录时间
TIME_TO_SEC(TIMEDIFF(time_out, time_in)) AS totalhours
现在从上面的查询中,我如何减去我存储在中断列上的值,然后显示总小时数?仅当中断列具有某些值时,才减去否则显示正确的总小时数。
例如,如果说用户的总登录时间是 9 小时,但在休息时我添加了 1 小时,那么总时间而不是显示 9 小时应该显示 8 小时。
这是我的完整查询
SELECT hours_id,
member_id,
username,
team,
time_in,
time_out,
break,
activity,
comments,
TIME_TO_SEC(TIMEDIFF(time_out, time_ink)) AS totalhours
FROM login_hours
WHERE DATE_FORMAT(date, '%Y-%m-%d') LIKE '".$filter_date."'
ORDER BY activity DESC
非常感谢您的帮助。
谢谢
解决方案
我排序了
TIME_TO_SEC(TIMEDIFF(time_out, time_in)) - TIME_TO_SEC(break) AS totalhours
它确实给出了我正在寻找的结果。有人能告诉我它是否正确吗?
推荐阅读
- java - 通过 Jackson 序列化 java.sql.Date,同时考虑夏令时
- python - 将函数嵌套到函数中
- mongodb - Mongoose 是否有办法在一个查询中查询文档并在不存在时创建新文档?
- ruby-on-rails - Rails ActiveStorage url_for 返回一个无效的 URL
- filter - Kentico:如何显示除一个之外的所有类别的博客文章?
- django - 名字、姓氏和图像未显示
- angular - Angular 中的纯管道
- javascript - JavaScript 更新并依赖于选择输入
- python - 如何单独浏览子文件夹?
- three.js - THREE.js:响应鼠标事件而变形的球体