我假设有一种方法可以使用MySQL,但我对关系数据库的经验有限,所以我希望得到一些guidaince。
我有一个users
,registrations
和user_registrations
表。我想在SELECT
表上创建一个users
查询,该查询执行嵌套选择,为该用户计算user_registrations
。
所以,例如,我希望有这样的东西:
SELECT *, (SELECT COUNT() FROM user_registrations WHERE users.user_id = user_registrations.user_id) FROM users
我认为我对嵌套选择的理解是关闭的,我希望有人可以指出我在这里正确的方向。感谢。
答案 0 :(得分:1)
您需要将从users
表中选择的所有列分组并包含在group by
子句中
SELECT u.id, u.name, COUNT(r.user_id)
FROM users u
LEFT JOIN user_registrations r ON u.user_id = r.user_id
GROUP BY u.id, u.name