我有一个表table_1,其列为parent_id,其列值来自同一个表中的其他记录。 我想设置另一列out_degree,其中包含将此表的id作为其parent_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
)
但它没有用。任何想法?
答案 0 :(得分:1)
试试这个:
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
请参阅SQL Fiddle中的示例结果。