【问题标题】:Mysql count duplicate value different columnMysql计数重复值不同的列
【发布时间】:2018-11-15 20:04:30
【问题描述】:

我想在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

如何实现?

【问题讨论】:

  • edit您的问题显示the code you have so far。我们这里的大多数人都很乐意帮助你提高你的手艺,但作为短期无薪编程人员不太乐意。以minimal reproducible example 向我们展示您的工作、您期望的结果和您得到的结果,我们将帮助您解决问题。重新阅读How to Ask可能会有所帮助。

标签: mysql count duplicates


【解决方案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)

Demo

【讨论】:

    猜你喜欢
    • 2013-09-29
    • 1970-01-01
    • 1970-01-01
    • 2021-03-24
    • 2017-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多