我有一个查询,我需要它从两个单独的表中选择两个不同时间的平均时间差。
这似乎很容易,直到查询的下一部分出现:我必须按照学生进入办公室的原因进行分组。所以现在这个查询需要:
- 选择原因(why)
- 计算一个学生因为这个原因进来了多少次 count(why)
- 然后我需要检查从开始时间到结束时间的 AVG 时间。请记住,我是按原因分组的。这意味着我需要 timediff 来计算属于学生访问原因的所有记录的差异。
我写了这个查询:
SELECT why,
count(why),
SEC_TO_TIME(AVG(MAX(support.finishtime) - session.signintime))
FROM session
LEFT JOIN support
ON support.session_id = session.session_id
WHERE status = 3
GROUP BY why;
但是我收到一个错误:
ERROR 1111 (HY000): 组函数使用无效
我似乎不明白这个问题。从阅读过去的问题,他们正在考虑使用有?但我不明白在这种情况下如何或什至在哪里添加having子句。
任何帮助将非常感激。
谢谢