SQL - 计算每个项目的员工数量

时间:2015-06-02 10:09:07

标签: sql sql-server sql-server-2008

您好我已完成作业并已ERDdata dictionary,并在wampserver

中实施了该作业

我需要以下 查询 的帮助:

A count of how many employees worked on each project

这是我已经制作的ERD解决方案 http://postimg.org/image/nkkscem4d/

PROJECT (ProNo, Emp_No, Pro_Name, Pro_Leader, Pro_Total) 

EMPLOYEE (EmpNo, Job_Class, Emp_Fname, Emp_Lname) JOB (Job_Class, Job_Desc, Job_Charge_Hr) 

ASSIGN (ProNo, EmpNo, Assign_Hours, Total_Charge)

2 个答案:

答案 0 :(得分:1)

COUNT是一个聚合函数,因此您可以使用GROUP BY将其返回值与列分开。

SELECT Project, COUNT(*)
FROM Employees
GROUP BY Project

这假设项目与员工存储在同一个表中。如果他们不是,那么您需要使用JOIN,但使用COUNTGROUP BY将是相同的。

答案 1 :(得分:1)

使用GROUP BYSELECT p.Pro_Name, Count(e.EmpNo) FROM Project p INNER JOIN Assign a ON p.ProNo = a.ProNo INNER JOIN Employee e ON a.EmpNo = e.EmpNo GROUP BY p.Pro_Name

SqlCommand cmd;
Using(SqlConnection Con = new SqlConnection("ConnectionString")
{
    cmd = new SqlCommand("StoredProcedureName", Con);
    cmd.CommandType = CommandType.StoredProcedure;

    Con.Open();
    SqlCommandBuilder.DeriveParameters(cmd);
    Con.Close();
}