Mysql SQL-嵌套选择不考虑外部限制

Mysql SQL-嵌套选择不考虑外部限制,mysql,Mysql,我是一名MySQL初学者,正在尝试了解它是如何工作的。我以为我能得到它,直到我运行以下程序: SELECT ( SELECT COUNT(task_user.task_id = tasks.id) FROM task_user ) A FROM tasks 总共匹配的总数。有人知道如何实现我的愿望吗?有人能解释一下为什么我的结果是这样的吗?没有错 因此,我希望得到tasks.id=task\u user.task\u id所在行的总数。通过运行COUNT我

我是一名MySQL初学者,正在尝试了解它是如何工作的。我以为我能得到它,直到我运行以下程序:

SELECT ( SELECT COUNT(task_user.task_id = tasks.id) FROM task_user ) A FROM tasks 总共匹配的总数。有人知道如何实现我的愿望吗?有人能解释一下为什么我的结果是这样的吗?

没有错

因此,我希望得到
tasks.id=task\u user.task\u id
所在行的总数。通过运行
COUNT
我计算了真值和假值

SELECT ( SELECT COUNT(task_user.task_id = tasks.id) FROM task_user ) A FROM tasks
通过
加入
进行
分组
。谢谢,@PM77,不过我还是SQL新手。你能写一个答案来说明这一点吗?更重要的是,请解释我的想法为什么是错误的?请发布一些示例数据和期望的结果。一个更典型的方法是:
从'tasks'左侧的'task'中选择COUNT('tasks`.'id`),然后在'task\u user'上加入'task\u user`.'task\u id`='tasks`.'id`.
@Lightness,这可能是因为我没有提供太多的信息(我最终会尝试解决这个问题),但是你的陈述与我实际想要实现的目标有很大的不同。您将查找
任务的总数
加上
任务用户
中指向
任务.id的附加记录数(如果有多条记录)。我的目标(可能不清楚?)实际上是为每个任务找到
task\u user
中指向
tasks.id
的记录数。谢谢:)呃,对,我的意思是:
从'tasks'中选择COUNT('task\u user`.'task\u id`),在'task\u user`上加入'task\u user`.'task\u id`='tasks`.'id`按'tasks`分组。'id`
()不过你的方式很优雅,除了子查询;) SELECT ( SELECT COUNT(task_user.task_id = tasks.id) FROM task_user ) A FROM tasks SELECT ( SELECT SUM(task_user.task_id = tasks.id) FROM task_user ) A FROM tasks