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

MySQL多表JOIN查询:如何按stdid统计video表的总videotime时长?

按stdid维度统计视频总时长SQL方案

核心逻辑

四张表按层级关联后聚合统计:

  • 关联链路:table_std ← tablesubject ← table_chapter ← tbvid(视频表)
  • 统计规则:对视频表videotime字段求和,最终按stdid分组输出

参考SQL语句

SELECT 
  s.stdid,
  s.stdname, -- 不需要标准名称可直接删除该行
  SUM(v.videotime) AS total_videotime
FROM table_std s
INNER JOIN tablesubject sub ON s.stdid = sub.stdid
INNER JOIN table_chapter c ON sub.subjectid = c.subjectid
INNER JOIN tbvid v ON c.chapterid = v.chapterid
GROUP BY s.stdid, s.stdname -- 仅按stdid分组可删除s.stdname
ORDER BY s.stdid;

适配调整说明

  • 若需要保留所有标准表的记录(无对应视频的标准总时长显示为0),将所有INNER JOIN替换为LEFT JOIN,同时将求和逻辑改为SUM(IFNULL(v.videotime, 0))
  • 语句中的关联字段(如subjectid/chapterid等)如果和实际表结构的字段名不一致,直接替换为你实际的外键字段即可
  • 如果你的视频表实际表名为video,将语句中的tbvid替换为video即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 02:54:03