Mysql添加连接子查询以计数

Posted

技术标签:

【中文标题】Mysql添加连接子查询以计数【英文标题】:Mysql adding join subquery to count 【发布时间】:2015-10-31 17:25:36 【问题描述】:

我有两张表 Loan 和 Book。

通过这个查询,我通过计算 Book_ID 来计算从 Loan 中借出的书籍最多:

select Book_ID, count(Book_ID) as Count
from Loan
group by Book_ID
order by Count desc;

现在我想在此处从 Book 表中添加书名。我在 Loan 表中有 Book_ID 作为外键。我不太确定如何将这个查询放在一起。

这是我尝试过的,但没有结果:

select Book_ID, count(Book_ID) as Count, Book.Title
from Loan, Book
where Loan.Book_ID = Book.Book_ID
group by Book_ID
order by Count desc;

【问题讨论】:

【参考方案1】:

由于您已加入另一个表,因此您的列名不明确,请尝试给它们一个别名:

select Book.Book_ID, count(Book.Book_ID) as Count, Book.Title
from Loan, Book
where Loan.Book_ID = Book.Book_ID
group by Book.Book_ID
order by Count desc;

【讨论】:

谢谢,我不知道会有什么不同。 这行得通吗?如果是请点击勾选接受回答,谢谢,

以上是关于Mysql添加连接子查询以计数的主要内容,如果未能解决你的问题,请参考以下文章

mysql查询以获取列中每个元素的计数

Mysql 子查询 - 需要在两个类似查询之间建立连接以计算邮政编码和邮政编码的出现次数

没有子查询的 MySQL 显示计数

带有连接和子查询的 mysql 查询优化

mysql 将子查询排除在连接之外

MySQL - 如果选择子查询中的计数为空,则更改为 0