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'與'最大(計數(版))' –
我無法理解你的建議,如果在代碼結束時,我只需添加'HAVING MAX(COUNT (版))',它給了我以下錯誤:組函數嵌套太深。 –
作爲ArtCountAtconfEd'的分析函數,例如'select ...,count(*)over(由CODAuthor,CodArticle,Conference,Edition進行分區)將爲您提供每個會議版本作者的文章計數。從它你可以最大的會議/版本。 – xQbert