【发布时间】:2020-10-10 02:49:44
【问题描述】:
我正在编写一个脚本,用于跟踪参加工作场所的人。我要找出谁在一段时间内去过那个地方。
它还必须找到在那段时间里已经在那里呆过一段时间的人。
还有那些在时间开始后到达并在工作日结束前离开的人。我将需要使用此 SQL 查询找到任何曾经去过那里的人。
我有以下。但它只会给我那些从开始时间($time_from) 到结束时间($time_to) 之前离开的人。
$SQL_String = mysqli_query ($con, "
SELECT *
FROM log
WHERE users_name = '" . $username . "'
AND login_time >= '" . $time_from . "'
AND logout_time <= '" . $time_to . "'
ORDER
BY dateandtime ASC
");
login_time 和logout_time 是用户在数据库中的开始和结束时间。 $time_from 和 $time_to 是表格中选择的开始和结束时间。
如果我搜索这些时间;
10:00 – 12:00
- 应该计算拥有这些时间的成员。 9:00 – 10:05
- 应该计算拥有这些时间的成员。 10:05 – 11:45 有这些时间的成员应该被计算在内。 11:00 – 12:05
- 应该计算拥有这些时间的成员。 9:00 – 13:00
简而言之:
我需要找到在给定时间跨度内一直在工作的人。无论他们是整天都在那里,还是迟到,还是早退——如果他们在表格上读取的时间内到过。
你能帮我解决这个问题吗? 谢谢!
【问题讨论】:
标签: php mysql sql select where-clause