我有一个任务表,每个任务都有一task_id列和一parent_id列.
我正在尝试构建一个返回每个查询的查询,这个查询在父列中显示task_id的次数.
我试过这个查询: idid
SELECT
task_id, parent_id,
(SELECT COUNT( * )
FROM `tasks`
WHERE parent_id = task_id) AS count_parents
FROM tasks
Run Code Online (Sandbox Code Playgroud)
此查询无效.我希望这个问题足够清楚.
如果你想要包括所有任务,无论他们是否曾经是父母,
select tasks.task_id,count(parent.parent_id)
from tasks
left join tasks parent on tasks.task_id=parent.parent_id
group by tasks.task_id;
Run Code Online (Sandbox Code Playgroud)
如果你只想要父母的任务,这是微不足道的:
select parent_id,count(*)
from tasks
group by parent_id;
Run Code Online (Sandbox Code Playgroud)
(后者可能需要一个where parent_id is not null或那样,取决于你如何表示没有父母的任务).
| 归档时间: |
|
| 查看次数: |
1512 次 |
| 最近记录: |