繁体   English   中英

根据联接表中的值从联接中获取总行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM