使用具有SUM功能的MYSQL生成月度报告

时间:2016-02-27 16:54:34

标签: php html mysql

大家好日子!

我无法生成月度报告......以下是数据。

id:1
姓名:John Doe
时间:5分钟00秒。

id:2
姓名:John Doe
时间:15分钟00秒。

id:3
姓名:范海辛 时间:10分钟00秒。

结果是

John Doe
总时间:0小时。 30分钟。

这意味着添加了这三个时间的总和,这不是我的目标结果..它必须是:

John Doe
总时间:20分钟00秒。

范海辛 总时间:10分钟00秒。

这是我的疑问:

SELECT pd.firstname, pd.lastname, pd.middlename, SUM(p.hoursDiff) as totalHr, SUM(p.minDiff) as totalMin, SUM(p.secDiff) as totalSec
FROM request_pass_slip r
JOIN pass_slip p ON p.request_id=r.request_id
JOIN pds pd ON pd.info_id=r.info_id
WHERE YEAR(r.request_date)=2016 AND MONTH(r.request_date)=2 AND pd.emp_type='JO'

这是导致错误的代码:

SUM(p.minDiff) as totalMin, SUM(p.secDiff) as totalSec
谁能帮助我吗?只是我没有选择......我找不到合适的查询。

1 个答案:

答案 0 :(得分:1)

如果您希望将结果按人员分组,则需要使用GROUP BY

在末尾添加到您的查询GROUP BY pd.firstname, pd.lastname, pd.middlename

没有它,总和适用于整个结果集