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

使用INNER JOIN多表查询:统计用户上传文档关联凭证数

问题分析

你的SQL存在三个核心问题:

  • 表名错误:实际凭证表名为Proofs,但你写的是Proof
  • 不必要的关联:关联Proofs表会引入重复行,导致统计结果偏大(比如documentID=1的记录中,proofID=1对应两条Files记录,关联后会生成两行,最终COUNT结果为3)
  • 缺少分组:没有按文档维度分组,所有符合条件的记录被合并成一行统计
正确SQL查询方案
SELECT
    d.name AS document,
    COUNT(DISTINCT f.proofID) AS proof,
    f.path AS path
FROM files f
INNER JOIN documents d ON f.documentID = d.id
WHERE f.userID = 1
GROUP BY d.id, d.name, f.path
说明
  1. 使用COUNT(DISTINCT f.proofID)统计每个文档下不同凭证ID的数量,避免同一凭证被多次统计
  2. 通过GROUP BY d.id, d.name, f.path按文档维度分组,确保每个文档对应一条结果
  3. 移除了不必要的Proofs表关联,因为需求仅需基于用户上传的Files记录统计凭证数量

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 20:03:29