如何计算项目数量

时间:2016-01-05 07:14:10

标签: php mysql

我在mysql中有一个数据库。该数据库包含三个表,例如" scheme"," project"," scheme_project。主要实体是方案,项目,我使用scheme_project来制作"多对多"方案与项目之间的关系。以下是表格字段和数据

------scheme----------------------
schemeid    scheme_name    
   1         DWSS
   2         Food and sec
   3         DRM
   4         VST
------------------------------------

另一张表

-------project----------------------
projectid    project_name
   1          WASH
   2          WHH
   3          SSS
------------------------------------

另一张表

----------scheme_project------------

id      scheme_id        projectid

1           1               2
2           1               1
3           2               1
4           3               2
5           4               1
------------------------------------

所以现在我需要一个查询来查找所有方案的项目总数。 我有问题,当我计算projectid它显示我5但实际上在这种情况下项目是2。 任何人都可以帮忙。

3 个答案:

答案 0 :(得分:1)

使用不同的

  

从yourtable中选择count(distinct projectid)

答案 1 :(得分:0)

您可以group by projectid如下

select scheme_id, count(*) as total_projects 
from scheme_project
group by projectid

答案 2 :(得分:0)

您需要使用GROUP BY

SELECT COUNT(*) as Total,p.project_name, s.scheme_name FROM scheme s
INNER JOIN scheme_project ON sp.scheme_id = s.schemeid
INNER JOIN project p ON p.projectid = sp.projectid
GROUP BY p.project_name, s.scheme_name

这将返回projects中列出的scheme个。{/ p>