You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL多表JOIN查询执行后仅返回一行结果问题求助

问题根因

  • 你使用了聚合函数COUNT(loanId)但未添加GROUP BY子句指定分组规则,聚合函数默认会将所有符合WHERE条件的行聚合为1行统计结果,这就是仅返回一行的核心原因。
  • 你的需求是按书籍维度统计未归还借阅次数,需要明确按书籍名称title分组,才能实现每本未归还书籍对应一条借阅次数统计结果。

修正后的SQL语句

use library;

Select title, count(loanId) as 'Number of loans'
From book
     Join bookCopy ON bookCopy.isbn = book.isbn
     Join loan ON bookCopy.copyId = loan.copyId
Where dateBack IS NULL
Group By title
Order By title;

补充说明

如果库中存在书名相同但ISBN不同的书籍,建议同时按ISBN和书名分组,避免不同书籍的借阅数据被合并统计,只需将上述GROUP BY子句调整为GROUP BY book.isbn, title即可。

内容的提问来源于stack exchange,提问作者RespectfulStudent

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 21:45:03