有两张桌子。
艺术家:ArtistID,ArtistFirstName,ArtistLastName,ArtistEmail,ArtistPhone,传记,ReferenceNumber,AgentID
代理:AgentID,AgentFirstName,AgentLastName,CompanyName,AgentEmail,AgentPhone
尝试列出每个预订代理代表的艺术家数量
注意:一个代理可以代表许多艺术家,但是每个艺术家只能得到一个代理。
这就是我得到的,不确定为什么它不起作用,谢谢
SELECT ag.AgentFirstName,ag.AgentLastName,ag.CompanyName,ag.AgentID,COUNT
(ar.ArtistID) AS NumberOfArtists
FROM Agent ag
JOIN Artist ar ON ar.AgentID = ag.AgentID
GROUP BY ArtistID
最佳答案
您正在按错误的列进行汇总。您需要按代理汇总:
SELECT ag.AgentFirstName, ag.AgentLastName, ag.CompanyName, ag.AgentID,
COUNT(ar.ArtistID) AS NumberOfArtists
FROM Agent ag JOIN
Artist ar
ON ar.AgentID = ag.AgentID
GROUP BY ag.AgentFirstName, ag.AgentLastName, ag.CompanyName, ag.AgentID
关于mysql - SQL Count函数不适用于联接查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47372412/