下面是我使用的数据库:https://drive.google.com/file/d/1ArJekOQpal0JFIr1h3NXYcFVngnCNUxg/view?usp=sharing
为每一位学者,计算出他/她所写论文的总数。产出应包括每个学术论文的数量和总数。特别是,一个没有任何论文的学者应该有零(0)作为论文的数量在输出。必须使用联接运算符.
我不知道如何输出每个学术论文的总数。
我在这个问题上的尝试:
SELECT acnum, panum
FROM author NATURAL JOIN paper;
这将输出窗格和acnum,但它没有指定每个acnum的总数。是否有关键字输出每个acnum的总数?
谢谢。
发布于 2018-05-15 10:08:27
做一个左外连接。然后,您可以计算匹配的作者行数。如果没有匹配的作者行,那么由于左联接,就会出现NULL。对于空字段,当计数特定字段时,它将不计为任何行(因此为零)。
SELECT CONCAT_WS(' ', academic.title, academic.initials, academic.faname), COUNT(author.panum)
FROM academic
LEFT OUTER JOIN author
ON academic.acnum = author.acnum
GROUP BY CONCAT_WS(' ', academic.title, academic.initials, academic.faname)
https://stackoverflow.com/questions/50347201
复制相似问题