Mysql 使用同一表中的计数进行更新

Mysql 使用同一表中的计数进行更新,mysql,Mysql,我有一个表1,它的列父项id是来自同一表中其他记录的列id的值。 我想设置另一个列,列中的记录数以该表的id作为其父级id。 我试过这个: UPDATE table_1 p1 SET p1.out_degree = ( SELECT COUNT(*) FROM table_1 p2, table_1 p1 WHERE p

我有一个表1,它的列父项id是来自同一表中其他记录的列id的值。 我想设置另一个列,列中的记录数以该表的id作为其父级id。 我试过这个:

UPDATE table_1 p1
   SET p1.out_degree = ( SELECT COUNT(*)
                           FROM table_1 p2, 
                                table_1 p1
                          WHERE p2.parent_id = p1.id 
                       GROUP_BY p1.id
                       )
但它不起作用。有什么想法吗?

试试这个:

UPDATE table_1 T1 
  JOIN ( SELECT parent_id,Count(parent_id) as ParentCount
           FROM table_1
       GROUP BY parent_id
       ) T2 ON T1.parent_id=T2.parent_id
   SET T1.out_degree=T2.parentCount

请参见中的示例结果。

感谢您为我们提供答案。我不知道可以在
更新中使用
加入
:-)工作完美!谢谢