두 개의 다른 테이블에서 서로 다른 두 시간의 평균 시간 차이를 선택하는 데 필요한 쿼리가 있습니다.여러 행의 MySQL AVG TimeDiff
다음 질문이 나올 때까지는 쉬운 것처럼 보였습니다. 학생이 사무실에 들어오는 이유를 그룹화해야합니다. 그래서 지금이 쿼리가 필요 :
- 는 이유를 선택 학생이 그 이유를 수
- 가 그럼 난에서 AVG 시간을 확인해야합니다 (왜)에 대해 올 횟수 (왜)
- 카운트 시작 시간. 내가 왜 그룹화했는지 명심해라. 즉, 학생들이 방문하는 이유에 해당하는 모든 기록에 대해 시간차를 계산해야합니다.
ERROR 1111 (HY000) : 나는 '돈 그룹 기능의 사용이 잘못
나는 오류가 발생하지만
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;
:
나는이 쿼리를 작성 이 문제를 이해하는 것 같습니다. 그들이 사용하는 것을 고려하고있는 과거 질문을 읽는 것에서? 그러나 나는 어떻게 이런 상황에서 where 절을 추가해야 하는지를 이해하지 못한다.
도움을 주시면 감사하겠습니다.
, 나는 당신이 원하는 것은 최대 지원 기록을 얻을 수있는 중첩 된 쿼리이라고 생각하고이 조금 찾고, 당신에게
MAX 기능을 사용해보십시오. 나는 mySQL이 MAX 함수 대신에 MAX 그룹을 사용하려한다고 의심한다. –
각 세션 (왜 그와 연관된가?)은 다중 카운셀러가 있기 때문에 max를 사용해야한다. 그래서 세션의 맨 처음 (signintime)과 타임 스탬프 중 가장 큰 (MAX) finishtime이 끝나기를 바랍니다. – RaGe10940