gpt4 book ai didi

mysql - 选择总和小于值的地方

转载 作者:行者123 更新时间:2023-11-29 02:28:05 26 4
gpt4 key购买 nike

我正在使用 PHP/MySQL 时间表系统,我要创建的报告会选择两个日期之间工作时间少于要求的所有员工。员工的时间以小时和分钟 (INT) 形式存储,但我只关心小时数。

员工表如下所示:

ID | Name
1 | George
2 | Fred

timesheet_entry 表:

ID | employeeID | hour | date
1 | 1 | 2 | 2013-07-25
2 | 2 | 4 | 2013-07-25
3 | 1 | 3 | 2013-07-25

因此,如果我选择在 2013 年 7 月 25 日工作时间少于 5 小时的员工(PHP 变量 hrsLimit),它应该返回 2 Fred,因为 George 在该日期总共工作了 5 小时。我有一个 HTML 表单,因此用户可以为查询设置变量。

我试过:

SELECT employeeid,
employeename
FROM employee
JOIN timesheet_entry tse
ON tse.tse_employeeid = employeeid
AND Sum(tse.hour) < $hrslimit

我还没有担心日期。

这里令人困惑的一点是我们正在连接两个表。也许我应该选择时间并将 SUM 子句放在末尾的 WHERE 中?

最佳答案

您需要对数据进行分组,然后将 SUM 条件放在查询的 HAVING 部分。

select employee.id,
employee.Name,
Date,
sum(`hour`)
from timesheet_entry
join employee on timesheet_entry.employeeID=employee.ID
group by timesheet_entry.employeeID,date
having sum(`hour`)<$hrslimit

SQLFiddle demo

关于mysql - 选择总和小于值的地方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17858084/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com