【问题标题】:Counting the number of times a result from a query shows up (basic SQL question)计算查询结果出现的次数(基本 SQL 问题)
【发布时间】:2021-02-22 22:30:19
【问题描述】:

我有这三个表:

我需要列出员工姓名和他们从事的项目数量,我不太确定该怎么做。现在我可以列出所有参与过一个项目的工作人员:

SELECT staff.s_name FROM Staff staff
INNER JOIN Work_on work ON staff.s_id = work.s_id
INNER JOIN Projects proj ON work.p_id = proj.p_id

这会显示所有参与过一个项目的人的名字,有些名字会列出两次,表明他们参与了多少个项目。我不知道如何将其列为一个单独的值并显示他们的姓名和他们一直在从事的项目数量,显然我需要在某处使用 COUNT() 函数但我不知道每次从结果中出现名称时如何计算。有人可以给我一些提示吗?

结果应该是这样的:

现在我只得到这个:

哪个正确显示了用户在一个项目上工作了多少次,但我不知道如何使用它来创建另一个显示计数的列。

【问题讨论】:

    标签: sql sqlite syntax command


    【解决方案1】:

    会有帮助吗?

    SELECT staff.s_name, count(1) FROM Staff staff
    JOIN Work_on work ON staff.s_id = work.s_id
    GROUP BY staff.s_name 
    

    【讨论】:

    • 啊,是的,我完全忘记了 GROUP BY 命令,谢谢伙计
    • @JamesCorin,没有问题。请记住:无论何时使用 GROUP 函数,都必须添加 GROUP by 子句。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-06
    • 1970-01-01
    • 2020-12-22
    • 2014-06-04
    • 1970-01-01
    相关资源
    最近更新 更多