어떻게하면 조인 된 테이블의 결과를 제한 할 MySQL 쿼리를 작성할 것인가? (또는 서브가 더 잘 작동하면 선택 하는가?) 또한 조인 된 테이블의 테이블 개수를 계산합니까?결합 된 테이블의 결과를 제한하고 결합 된 테이블의 항목 수를 계산하는 MySQL 쿼리를 작성하는 방법은 무엇입니까?
예를 들어 프로젝트, 작업 및 주석의 세 가지 테이블이 있다고 가정 해 봅시다. 프로젝트에는 0 개 이상의 작업이 있고 작업에는 0 개 이상의 의견이 있습니다. 프로젝트 당 반환되는 작업 수를 3으로 제한하고 프로젝트 당 총 작업 수와 작업 당 의견 수를 어떻게 반환합니까? 여기
내가 같은 결과 집합 모습을 상상할 수있는 작업은 다음과 같습니다project_id, project_title, task_id, task_title, num_tasks, num_comments
------------------------------------------------------------------------
1, Project1, 1, Task1, 4, 3
1, Project1, 2, Task2, 4, 0
1, Project1, 3, Task3, 4, 9
2, Project2, 10, Task10, 20, 0
2, Project2, 11, Task11, 20, 0
2, Project2, 12, Task12, 20, 2
3, Project3, 20, Task20, 17, 5
3, Project3, 21, Task21, 17, 1
3, Project3, 22, Task22, 17, 2
는 'Project1의이'등 'Project2에이'단지 등 프로젝트의 제목과 '작업 1', 'Task2를'대표
는 작업의 제목을 나타냅니다 .
궁극적으로 (쿼리의 결과를 분석 한 후) I는 다음과 같이 표시 할 수 싶습니다 (
Project1 (4 tasks)
Task1 (3 comments)
Task2 (0 comments)
Task3 (9 comments)
Project2 (20 tasks)
Task10 (0 comments)
Task11 (0 comments)
Task12 (2 comments)
Project3 (17 tasks)
Task20 (5 comments)
Task21 (1 comments)
Task22 (2 comments)
나는이 하위 선택하여 수행되어야한다 같은데요을하는 괜찮 았어),하지만 난 조인을 사용하여 이것을 달성하는 방법을 알아낼 수 없습니다 그리고 하위에 대한 충분한 핸들이 꽤 이런 일을 선택하지 않습니다.
* 당신에게 프로젝트 당 반환 작업의 수를 제한 할 방법 3 * : 정확히 어느 세 가지를 원하십니까? 예를 들어,'ORDER BY task_id ASC' 또는'ORDER BY num_comments DESC'의 상위 3 개? – BalusC