MySQL 嵌套 Select 并加入 Table
MySQL Nested Select with Joined Table
我假设有一种方法可以用 MySQL 做到这一点,但我在关系数据库方面的经验有限,所以我希望得到一些指导。
我有一个 users
、registrations
和 user_registrations
table。我想在我的 users
table 上创建一个 SELECT
查询,该查询执行嵌套 select 计算该用户的 user_registrations
。
例如,我希望有这样的东西:
SELECT *, (SELECT COUNT() FROM user_registrations WHERE users.user_id = user_registrations.user_id) FROM users
我认为我对嵌套 selects 的理解不正确,我希望有人能在这里为我指明正确的方向。谢谢。
您需要将 select 来自 users
table 的所有列分组并包含到您的 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
我假设有一种方法可以用 MySQL 做到这一点,但我在关系数据库方面的经验有限,所以我希望得到一些指导。
我有一个 users
、registrations
和 user_registrations
table。我想在我的 users
table 上创建一个 SELECT
查询,该查询执行嵌套 select 计算该用户的 user_registrations
。
例如,我希望有这样的东西:
SELECT *, (SELECT COUNT() FROM user_registrations WHERE users.user_id = user_registrations.user_id) FROM users
我认为我对嵌套 selects 的理解不正确,我希望有人能在这里为我指明正确的方向。谢谢。
您需要将 select 来自 users
table 的所有列分组并包含到您的 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