gpt4 book ai didi

sql - HAVING 子句的子查询不起作用?

转载 作者:搜寻专家 更新时间:2023-10-30 19:57:47 25 4
gpt4 key购买 nike

我有两个表,一个是指学生的成绩,另一个是指学生的信息,这两个表由属性 STUDENTS.ST_ID 连接>GRADES.G_STUDENTS。该查询要求我检索所有平均分数高于具有特定 STUDENTS.ST_ID_NUM(matricule 的另一个属性)学生的平均分数的学生。我可以检索所有学生的平均分数:

SELECT STUDENTS.ST_NAME, STUDENTS.ST_SURNAME, AVG(GRADES.G_GRADE)  
FROM STUDENTS INNER JOIN GRADES
ON STUDENTS.ST_ID = GRADES.G_STUDENT
GROUP BY STUDENTS.ST_NAME, STUDENTS.ST_SURNAME;`

以及具有特定 STUDENTS.ST_ID_NUM 的特定学生的平均分数:

select avg(grades.g_grade)   
from students inner join grades
on students.st_id = grades.g_student
where students.st_id_num = '061RDB121';

如何将条件放在第一个查询上?如果我在 HAVING 子句中放置另一个子查询,则不起作用!我认为内部查询可以工作,但我不知道如何编写。

最佳答案

这样应该可以;

SELECT STUDENTS.ST_NAME, STUDENTS.ST_SURNAME, AVG(GRADES.G_GRADE)
FROM STUDENTS INNER JOIN GRADES
ON STUDENTS.ST_ID = GRADES.G_STUDENT
GROUP BY STUDENTS.ST_NAME, STUDENTS.ST_SURNAME;
having AVG(GRADES.G_GRADE) > (select avg(grades.g_grade)
from students inner join grades
on students.st_id = grades.g_student
where students.st_id_num = '061RDB121');

关于sql - HAVING 子句的子查询不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18897839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com