我有一个查询需要它来从两个单独的表中选择两个不同时间的平均时间差。多行的MySQL AVG TimeDiff
在查询的下一部分进来之前,这看起来很容易:我必须根据学生进入办公室的原因进行分组。所以现在这个查询需要:
- 选择的原因(为什么)
- 伯爵学生已经多少次进来这个原因计数(为什么)
- 然后,我需要检查从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):无效使用组功能的
我不t似乎理解这个问题。从阅读过去他们正在考虑使用的问题?但我不明白在这种情况下如何甚至在何处添加having子句。
任何帮助将不胜感激。
谢谢
尝试取出MAX功能。我怀疑mySQL试图使用MAX组而不是MAX函数 –
以及我必须使用max,因为每个会话(为什么与之相关)都有多个可以在其上工作的顾问。所以我希望登录会话的开始时间(登录时间)和结束时间的最后时刻,这将是时间戳的最大值(MAX)。 – RaGe10940