输出特定类别的总数

时间:2018-05-15 09:52:50

标签: mysql sql join

以下是我使用的数据库:https://drive.google.com/file/d/1ArJekOQpal0JFIr1h3NXYcFVngnCNUxg/view?usp=sharing

对于每位学者,计算他/她撰写的论文总数。产量 应包括每位学者的论文和论文总数。特别是, 没有任何论文的学者应该有零(0)的论文数量 输出。您必须使用JOIN运算符。

我不确定如何输出每位学者的论文总数。

我尝试这个问题:

SELECT acnum, panum
FROM author NATURAL JOIN paper;

这会输出panums和acnums,但它没有指定每个acnum的总数。是否有关键字输出每个acnum的总数?

谢谢。

1 个答案:

答案 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)