mysql - MySQL 关联表的连接数
问题描述
我想计算一个项目中的成员数量并将其加入到所有项目的查询结果中。
我尝试过处理子查询和连接,但还没有实现我想要的。
这是我的桌子:
项目
project_id | name | description | start_date | end_date
项目成员
user_id | project_id
例如,项目 1 有 2 个成员,项目 2 有 5 个成员。
查询的期望输出:
project_id | name | description | start_date | end_date | number_of_members
---------------------------------------------------------------------------
1 | xxx | xxxxxxxxxxx | xxxxxxxxxx | xxxxxxxx | 2
2 | xxx | xxxxxxxxxxx | xxxxxxxxxx | xxxxxxxx | 5
非常感谢任何帮助,谢谢!
解决方案
从中选择您想要的列project
。COUNT(project_members.user_id )
如果您LEFT JOIN
按照所示进行操作,将为您提供每个项目中的用户数。
SELECT
project_id, name,
description,
start_date,
end_date,
COUNT( project_members.user_id ) AS number_of_members
FROM project
LEFT JOIN project_members ON
( project_members.project_id = project.project_id )
GROUP BY
project.project_id
推荐阅读
- django - 如何从多对多关系中获取所有对象?
- javascript - 使用 Express 和 express-basic-auth 包的基本身份验证。使用 javaScript 触发登录和注销
- magento2 - 使用 composer.json 安装 Magento 后安装 Magento Inventory
- html - 自定义按钮设计
- python - 仅将某些列名称转换为日期时间
- bootstrap-4 - 在 Bootstrap 4 上堆叠列和合并行
- c# - 自定义编辑器不允许拼写检查
- python - 如何通过在它们之间画线来连接两个 QGraphicsItem(使用鼠标)
- sql - ScalikeJDBC 如何通过聚合函数对查询进行排序?
- c# - 一旦光线投射不再在对象上,如何禁用组件?