心慌慌的小饼子 2023-05-11 13:49 采纳率: 100%
浏览 35
已结题

关于Access追加查询的一个幼儿园问题

对照书上的一个例子,学生成绩查询数据库,三个表,学生信息表,课程信息表,成绩表,先是生成表查询了高数70分以上的学生信息,现在要追加查询,不管哪一科70分以上的学生信息。但是有的学生考了好几门课,都在70分以上,追加时就会出现学号这个主键重复,这种情况应该怎么办?

img

  • 写回答

2条回答 默认 最新

  • 自在猫先生 2023-05-11 13:56
    关注

    在这种情况下,您可以使用 SQL 中的 GROUP BY 语句将结果按学生 ID 进行分组,然后使用聚合函数 COUNT() 确定每个学生在大于等于 70 分的课程数。

    查询语句可能类似下面这样:

    sql
    SELECT s.id AS student_id, s.name AS student_name, COUNT(*) AS count_above_70
    FROM student_info s
    INNER JOIN score sc ON s.id = sc.student_id
    WHERE sc.score >= 70
    GROUP BY s.id, s.name
    该查询语句中,我们首先连接了“学生信息表”和“成绩表”,并使用 WHERE 子句过滤符合条件(即成绩大于等于 70 分)的记录。然后,通过 GROUP BY 子句按学生 ID 将结果分组,并使用 COUNT() 函数计算每个学生的分数大于等于 70 分的课程数量。

    注意,在 SELECT 子句中选择的列应该包括分组键和聚合函数所需的列,以及任何其他需要显示的数据。

    希望这个解答对您有所帮助!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月19日
  • 已采纳回答 5月11日
  • 创建了问题 5月11日

悬赏问题

  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 关于大棚监测的pcb板设计
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用