2
경고 빈 집합을 반환 절을 한 후 : 나는 this 질문 알고있다 - 내 쿼리에 GROUP BY
조항을 추가하고 여전히 작동하지 않기 때문에 그것은 내 같은 하지입니다.집계 기능
나는 임시 열 project_count
의 최대 값을 선택해야합니다. 내가합니다 (HAVING
절을 포함 할 경우 내가해야하는, 그러나
+-------------+---------------+
| employee_id | project_count |
+-------------+---------------+
| 1 | 2 |
| 2 | 1 |
| 3 | 3 |
| 5 | 1 |
+-------------+---------------+
: 나는 HAVING
절을 제거하면 출력은 다음과 같다
SELECT employee_id, COUNT(*) AS project_count FROM Employees WHERE project_level = 'L1' AND YEAR(Employees.project_date) = '2017' GROUP BY employee_id HAVING project_count = MAX(project_count);
:
이
쿼리입니다project_count
의 최대 값을 알고 자 할 때), 출력은 빈 세트입니다. 하지만 같아야 다음
당신이 최대 카운트 한 행을 원하는 경우
+-------------+---------------+
| employee_id | project_count |
+-------------+---------------+
| 3 | 3 |
+-------------+---------------+
http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple- sql-query – Strawberry
그룹화에는 두 개의 "레이어"가 있지만 하나만 지정합니다. MAX (project_count)는 employee_id로 그룹화 된 MAX (COUNT (*))와 동일하다는 것을 기억하십시오. 나는 MySQL이 쿼리를 거부하지 않았다는 것에 놀랐다. 그것을 받아 들일 때 모든 행 대신에 행을 반환하기로 결정했다는 사실을 알게되었습니다. – Uueerdo