[英]Get Total Rows From Join Based On Value From Join Table
我不确定标题,任何人都可以随意编辑
表articles
+----------+-------------------------+----------+
| id | title | status |
+----------+-------------------------+----------+
| 1 | title 1 | accepted |
+----------+-------------------------+----------+
| 2 | title 2 | accepted |
+----------+-------------------------+----------+
| 3 | title 3 | rejected |
+----------+-------------------------+----------+
| 4 | title 4 | accepted |
+----------+---------+---------------+----------+
表article_reviewers
+----------+------------+-----------+
| id | article_id | user_id |
+----------+------------+-----------+
| 1 | 1 | 1 |
+----------+------------+-----------+
| 2 | 2 | 1 |
+----------+------------+-----------+
| 3 | 3 | 1 |
+----------+------------+-----------+
| 4 | 2 | 2 |
+----------+------------+-----------+
如何从此表中查找每个用户和每个状态的文章总数。
从表:
id 1
用户有2条接受的文章和1条被拒绝的文章。
id 2
用户,有1篇被接受的文章和0篇被拒绝的文章。
如果我做类似的事情:
SELECT count(*) total FROM article_reviewers ar
INNER JOIN articles a
ON ar.article_id = a.id
GROUP BY ar.user_id
我得到每个用户的文章总数,如何找到每个状态?
没人能告诉我如何做到这一点。
您快要到了:
SELECT ar.user_id, a.status, count(*) total
FROM article_reviewers ar
INNER JOIN articles a
ON ar.article_id = a.id
GROUP BY ar.user_id, a.status
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.