mysql - 根据连接表中的值从连接中获取总行数

标签 mysql sql

我不确定标题,任何人都可以编辑

表格文章

+----------+-------------------------+----------+
|   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

关于mysql - 根据连接表中的值从连接中获取总行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17123415/

相关文章:

python - 如何在 Python 中访问由标签结构化的数据?

mysqlimport 不会将记录加载到使用 LIKE 语句创建的表中

mysql - 内连接查询

MySQL 根据 IF/CASE 语句选择某些行

PHP var_dump 返回资源(16)

PHP 日期问题,无法转换 1970-01-01 之前的日期

MySQL:如何将 varchar(255) UNIQUE 列更改为 UNIQUE Text NOT NULL?

mysql - 没有(标识)唯一属性的父类(super class)型表

java - 我想使用 Swing 计时器对 SQL 表进行查询,为返回的结果设置 Swing 标签。这是行不通的

mysql - 具有动态列的 SQL 查询 (PIVOT)