我有一個查詢需要它來從兩個單獨的表中選擇兩個不同時間的平均時間差。多行的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