使用子查询更新查询

时间:2017-07-14 06:34:15

标签: mysql subquery where

这是否抽象了SQL查询解决方案?我需要使用带有where的子查询来更新行。

Screenshot of query

UPDATE articles
SET varcount = (
    SELECT
        COUNT(*)
    FROM
        articles
    WHERE
        parentid = articles.id
)
WHERE
    articles.parentid = '';

1 个答案:

答案 0 :(得分:0)

希望不会误解你想做什么,只需尝试以下查询:

update articles
join (
    select parentid, count(*) cnt
    from articles
    group by parentid
) t on articles.id = t.parentid
set articles.varcount = t.cnt
where articles.parentid = ''