2
연습 문제는 다음과 같습니다. 10 개 이상의 회의가있는 회의를 고려할 때 회의의 각 버전에 해당 버전의 기사 및 해당 기사에서 가장 많이 기사를 제출 한 작성자의 코드가 표시됩니다 . 내 테이블은 다음과 같습니다 각 그룹에 대한 최대 값
Author(CodAuthor, Name, Surname);
Article(CodArticle, Title);
Authors_Article(CodAuthor, CodArticle);
Conference_Editions(Conference, Edition, EditionName);
Author_presents_Article(CodAuthor, Date, Room, CodArticle, Conference, Edition);
는 다음 코드 작성 :
SELECT Apa.CodAuthor, Ec.EdizionName
FROM Conference_Editions Ec JOIN Author_presents_Article Apa ON (Ec.Edition = Apa.Edition) AND (Ec.Conference = Apa.Conference)
WHERE (Apa.Conference In (SELECT Conference
FROM Conference_Editions
GROUP BY Conference
HAVING COUNT(Edition)>10))
GROUP BY Apa.Conference, Apa.Edition, Apa.CodAuthor, Ec.EdizionName;
을하지만 각 버전에 대한 대부분의 기사를 소개 저자를 찾는 방법을 모르겠어요.
대부분의 기사를, 당신은' –
나는 당신의 제안을 이해할 수없는 최대 (수 (판))'와'having'을 사용할 수 있습니다 (판))', 그것은 나에게 다음과 같은 오류를 낳는다 : 그룹 기능이 너무 깊게 중첩되어있다. –
ArtCountAtconfEd로 'select ..., count (*) over (Part by CODAuthor, CodArticle, Conference, Edition) 파티션과 같은 분석 함수를 사용하면 각 컨퍼런스 에디션의 작성자 별 기사 수를 알 수 있습니다. 그것으로부터 당신은 conference/edition에 의해 최대가 될 수 있습니다. – xQbert