mysql - 使用外键条目聚合行数

标签 mysql sql

我正在尝试查询一个表并获取一列中的所有数据假设我们正在使用的列是 id,其中它们的名称是 NOT NULL

SELECT id FROM AUTHORS WHERE name IS NOT NULL;

然后使用此查询中的ALL

我想使用 AUTHORS 表中的所有 id 搜索另一个名为 BOOKS 的表,其中 id 匹配记录。

然后从每个查询返回的金额与 id 匹配获取该行计数并返回它。

然后最终将查询聚合成一个结果,其中 id 有一个行数。

所以你最终会得到类似的东西:

ID | Number of Entries
0  | 12
1  | 5001
2  | 1337

但我不确定这是否可能?

最佳答案

您可以使用joincountgroup by

  SELECT a.id , a.name,  count(*)
  FROM AUTHORS a 
  INNER JOIN BOOKS b ON a.ID = B.Auhors_id AND a.name IS NOT NULL
  GROUP BY a.id , a.name 

关于mysql - 使用外键条目聚合行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51860136/

相关文章:

mysql - 如何在 MySQL 中选择带有附加 where 子句的 count(distinct)?

sql - 如何在 Sql 中设计 oauth 2.0 访问 token 字段?

sql - ORACLE 更新后触发 : solving ORA-04091 mutating table error

SQL/Presto 将列表列扩展为多行

MySQL 计算 INNER 关系中的项目数

php query_mysql 不返回任何东西

SQL SELECT 当子表包含零行时

sql - 当另一半为空时,union 从查询的一半中删除行

mysql - 无法在管理选项卡上呈现外部数据库数据

php 代码未使用 wamp 服务器从 mysql 数据库获取数据