gpt4 book ai didi

mysql - 根据外键状态计算有多少

转载 作者:行者123 更新时间:2023-11-29 06:46:04 25 4
gpt4 key购买 nike

我有三个表 - 信息、文章和作者

信息有

\----+-----------+------------+  
| ID | AuthorID | ArticleID |
+----+-----------+------------+
| 1 | 1 | 1 |
| 2 | 2 | 2 |
| 3 | 3 | NULL |
| 4 | 1 | 3 |

文章

\----+------------+   
| ID | Status |
+----+------------+
| 1 | Confirmed |
| 2 | Pending |
| 3 | Reviewing |

作者

\----+----------+
| ID | Status |
+----+----------+
| 1 | John |
| 2 | Mark |
| 3 | Peter |

我想统计每个作者有多少篇“已确认”文章和多少篇“未确认”文章。 “未确认”的文章包括所有状态不为“已确认”或在信息表中为 NULL 的内容。

对于这个小例子,答案应该是:

\--------+-----------+---------------+
| AUTHOR | CONFIRMED | NON-CONFIRMED |
+--------+-----------+---------------+
| John | 1 | 1 |
| Mark | 0 | 1 |
| Peter | 0 | 1 |

最佳答案

给你。重新创建数据集时,我自己使用了临时表。替换为您的表名称。

select  c.status , sum(case when  b.status ='confirmed' then 1 else 0 end)Confirmed, sum(case when  b.status ='confirmed' then 0 else 1 end)NonConfirmed
from #info a left join #article b on a.articleid=b.id
left join #authors c on a.authorid=c.id
group by c.status

关于mysql - 根据外键状态计算有多少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49372046/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com