我知道mysqli查询的基础知识,但我遇到以下问题:
我有一个名为 caseStatistics 的大表,其中包含以下列:
idSchool (学校ID), timeReported (unix时间戳), timeRead (unix时间戳), timeSolved (unix timestamp)
我还有一个名为 school 的大表,其中包含以下列:
idSchool (学校ID),姓名(学校名称)
从这两张表格中,我想输出学校的名称,总案例,运营商对案件作出回应的平均时间(报告后),以及有多长时间的平均时间采取解决案件(报告后)。我还需要将结果按学校名称分组。
所以它应该输出这样的东西:
名称:BlaBlaSchool
案件总数:49
Avarage响应时间:2小时
Avarage解决时间:16小时
(每所学校)
我不需要协助将unix转换为天,小时,分钟等,只需要mysqli查询。非常感谢任何帮助,谢谢!
答案 0 :(得分:0)
您需要做的就是将函数添加到select语句的列列表中:
SELECT
s.`name`,
COUNT(*) AS totalCases,
AVG(cs.`timeRead` - cs.`timeReported`) AS avgRespond,
AVG(cs.`timeSolved` - cs.`timeReported`) AS avgSolved
FROM `caseStatistics` AS cs
LEFT JOIN `school` AS s ON s.`idSchool` = cs.`idSchool`
GROUP BY s.`name`
您可以使用HAVING
关键字来缩小使用汇总值的结果(类似于WHERE
)。另外,请务必查看:https://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html