以下是我使用的数据库:https://drive.google.com/file/d/1ArJekOQpal0JFIr1h3NXYcFVngnCNUxg/view?usp=sharing
对于每位学者,计算他/她撰写的论文总数。产量 应包括每位学者的论文和论文总数。特别是, 没有任何论文的学者应该有零(0)的论文数量 输出。您必须使用JOIN运算符。
我不确定如何输出每位学者的论文总数。
我尝试这个问题:
SELECT acnum, panum
FROM author NATURAL JOIN paper;
这会输出panums和acnums,但它没有指定每个acnum的总数。是否有关键字输出每个acnum的总数?
谢谢。
答案 0 :(得分:0)
进行LEFT OUTER JOIN。然后,您可以计算匹配作者行的数量。如果没有匹配的作者行,则由于LEFT JOIN而存在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)