【发布时间】:2010-03-16 14:05:59
【问题描述】:
我有一个名为活动的表,其中包含许多项目活动(例如,6 个活动与一个项目相关)。在项目页面,你可以看到项目,我有一栏需要显示与项目相关的活动数量。
所以基本上,我需要一个查询或 PHP 计算,可以将项目的任务数量相加,然后动态显示这个数字!我很清楚自己需要什么,只是不知道如何实现。
【问题讨论】:
我有一个名为活动的表,其中包含许多项目活动(例如,6 个活动与一个项目相关)。在项目页面,你可以看到项目,我有一栏需要显示与项目相关的活动数量。
所以基本上,我需要一个查询或 PHP 计算,可以将项目的任务数量相加,然后动态显示这个数字!我很清楚自己需要什么,只是不知道如何实现。
【问题讨论】:
您想要的是在您的 MySQL 查询中使用 COUNT(),或者可能是 SUM() 和 GROUP_BY()。这是Documentation。
【讨论】:
Select sum(tasks) as totalTasks from activities where project_id=<id> group by project_id;
也许是这样的?
或者如果 tasks 是一个外键而不是多个任务,那么:
Select count(tasks) as totalTasks from activities where project_id=<id> group by project_id;
如果不了解更多关于您的程序和表结构的信息,很难提出更详细的执行此操作的好方法。
【讨论】:
您可以像这样使用 GROUP BY 来做到这一点:
SELECT sum(activities.activity_id) as num_activities, project.project_name, project.project_id
FROM project LEFT OUTER JOIN activities ON activities.project_id = project.project_id
GROUP BY project.project_id
或者使用嵌套的 select 语句
SELECT (SELECT count(*) FROM activities where activities.project_id = project.project_id) as num_activities , project.project_name, project.project_id
FROM project
【讨论】: