当前位置: 首页 > news >正文

高频SQL 50题 1280.学生们参加各科测试的次数

学生表:Students

+---------------+---------+ | Column Name | Type | +---------------+---------+ | student_id | int | | student_name | varchar | +---------------+---------+ 在 SQL 中,主键为 student_id(学生ID)。 该表内的每一行都记录有学校一名学生的信息。

科目表:Subjects

+--------------+---------+ | Column Name | Type | +--------------+---------+ | subject_name | varchar | +--------------+---------+ 在 SQL 中,主键为 subject_name(科目名称)。 每一行记录学校的一门科目名称。

考试表:Examinations

+--------------+---------+ | Column Name | Type | +--------------+---------+ | student_id | int | | subject_name | varchar | +--------------+---------+ 这个表可能包含重复数据(换句话说,在 SQL 中,这个表没有主键)。 学生表里的一个学生修读科目表里的每一门科目。 这张考试表的每一行记录就表示学生表里的某个学生参加了一次科目表里某门科目的测试。

查询出每个学生参加每一门科目测试的次数,结果按student_idsubject_name排序。

查询结构格式如下所示。

示例 1:

输入:Students table: +------------+--------------+ | student_id | student_name | +------------+--------------+ | 1 | Alice | | 2 | Bob | | 13 | John | | 6 | Alex | +------------+--------------+ Subjects table: +--------------+ | subject_name | +--------------+ | Math | | Physics | | Programming | +--------------+ Examinations table: +------------+--------------+ | student_id | subject_name | +------------+--------------+ | 1 | Math | | 1 | Physics | | 1 | Programming | | 2 | Programming | | 1 | Physics | | 1 | Math | | 13 | Math | | 13 | Programming | | 13 | Physics | | 2 | Math | | 1 | Math | +------------+--------------+输出:+------------+--------------+--------------+----------------+ | student_id | student_name | subject_name | attended_exams | +------------+--------------+--------------+----------------+ | 1 | Alice | Math | 3 | | 1 | Alice | Physics | 2 | | 1 | Alice | Programming | 1 | | 2 | Bob | Math | 1 | | 2 | Bob | Physics | 0 | | 2 | Bob | Programming | 1 | | 6 | Alex | Math | 0 | | 6 | Alex | Physics | 0 | | 6 | Alex | Programming | 0 | | 13 | John | Math | 1 | | 13 | John | Physics | 1 | | 13 | John | Programming | 1 | +------------+--------------+--------------+----------------+解释:结果表需包含所有学生和所有科目(即便测试次数为0): Alice 参加了 3 次数学测试, 2 次物理测试,以及 1 次编程测试; Bob 参加了 1 次数学测试, 1 次编程测试,没有参加物理测试; Alex 啥测试都没参加; John 参加了数学、物理、编程测试各 1 次。
# Write your MySQL query statement below SELECT Students.student_id, Students.student_name, Subjects.subject_name, COUNT(Examinations.subject_name) AS attended_exams FROM Students CROSS JOIN Subjects LEFT JOIN Examinations ON Students.student_id=Examinations.student_id AND Subjects.subject_name=Examinations.subject_name GROUP BY Students.student_id,Subjects.subject_name ORDER BY Students.student_id,Subjects.subject_name;
http://www.jsqmd.com/news/510000/

相关文章:

  • 【微信小程序】如何优雅地获取用户昵称与头像(兼容性优化指南)
  • Dify RAG召回率从62%跃升至91.7%:4步精准调优流程+官方未公开的插件下载源清单
  • Arduino USB MIDI设备开发:MIDIUSB库原理与实战
  • Kafka数据可靠性实战:深入解析acks与min.insync.replicas的黄金组合
  • 技术迭代背景下B端拓客号码核验的困境与发展路径氪迹科技法人股东决策人号码核验系统
  • java微信小程序的汽车线上车辆租赁管理系统的设计与实现_
  • 实测Cogito-v1-preview-llama-3B:免费商用+多语言支持,小白也能快速上手
  • VS Code智能体开发新范式:基于MCP的实时语义感知集成(含GitHub私有仓库未公开配置模板)
  • FRCRN语音降噪一文详解:Frequency-Recurrent结构原理与工程适配
  • PyTorch实战:如何用BCE Loss解决多标签分类问题(附代码对比)
  • 告别标签页混乱:Open Multiple URLs如何重塑你的浏览效率
  • Vue2+ElementUI电商后台管理系统实战:从登录权限到用户管理完整指南
  • Linux服务器磁盘告急?5分钟搞定LVM扩容根目录(附xfs/ext4双方案)
  • StructBERT零样本分类-中文-base零基础上手:文科背景也能玩转AI文本分类
  • 2026防爆工业吊扇厂家推荐:车间工业吊扇源头厂家+厂房工业吊扇厂家+车间通风大风扇厂家推荐精选 - 栗子测评
  • Ref-Extractor:学术文档参考文献提取的智能解决方案
  • Qwen3-32B开源大模型效果:RTX4090D上长文本摘要(>8k tokens)信息保真度实测
  • 中文语义匹配新基准:nlp_structbert_sentence-similarity_chinese-large与SimCSE-BERT效果对比评测
  • 2026低噪音工业吊扇厂家推荐:大风量工业吊扇源头厂家+直流工业吊扇源头厂家甄选 - 栗子测评
  • Step3-VL-10B-Base在复杂网络环境下的部署:内网穿透方案
  • 国内知名的半导体行业展会盘点,汇聚行业精选与创新成果 - 品牌2026
  • 小程序毕业设计-基于微信小程序的健康菜谱系统的设计与实现-健康菜谱小程序
  • Windows平台OpenClaw实战:Qwen3-32B镜像对接与飞书机器人配置
  • PSINS工具箱实战:5步搞定SINS/GNSS组合导航仿真(附完整代码解析)
  • 春联生成模型Python爬虫数据增强实战
  • 光栅尺闭环步进驱动器选型专业白皮书 - 优质品牌商家
  • 大模型蒸馏避坑指南:为什么我的Qwen2.5反向KL散度效果不如前向?
  • Qwen2.5与ChatGLM4性能对比:长文本生成与GPU占用实测
  • DamoFD-0.5G模型蒸馏实战:使用YOLOv5教师模型提升小样本性能
  • 2026厂房降温工业吊扇厂家推荐源头厂家+工业大风扇源头工厂盘点,东霸工业吊扇领衔 - 栗子测评