我想在parent_id和id_article中计算相同的值,但如果parent_id和id_article中没有相同的值,则它可以为0
table:t_article
id_article parent_id
441 0
1093 18
18 0
3141 3130
3130 0
3140 3130
3142 3130
预期输出
id_article parent_id Total
441 0 0
1093 18 0
18 0 1
3141 3130 0
3130 0 3
3140 3130 0
3142 3130 0
我该如何实现?
答案 0 :(得分:1)
您可以通过执行子句然后加入主查询来获取计数
select a.*, coalesce(b.cnt,0)
from t_article a
left join (
select parent_id, sum(parent_id <> 0) cnt
from t_article
group by parent_id
) b on (a.id_article = b.parent_id)