mysql count重复值不同列

qvtsj1bj  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(319)

我想在parent\u id和id\u article之间计算相同的值,但是如果parent\u id和id\u 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

我该怎么做?

qc6wkl3g

qc6wkl3g1#

您可以通过执行子子句获得计数,然后加入主查询

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)

演示

相关问题