gpt4 book ai didi

mysql - 返回平均值以及特定行

转载 作者:行者123 更新时间:2023-11-29 19:18:59 25 4
gpt4 key购买 nike

我有两个疑问。一个返回类(class)平均分、最低成绩和最高成绩。第二个返回特定学生的结果。我试图将这两个查询合并为一个查询,以便它显示特定学生的结果以及类(class)的最小、最大和平均结果。我尝试过的任何事情都会导致错误。我缺少一些简单的东西吗?以下两个查询:

SELECT Module.ModuleTitle, Module.ModuleDescription, 
MIN(StudentModule.StudentGradeFinal) as lowres,
MAX(StudentModule.StudentGradeFinal) as topres,
AVG(CAST(StudentModule.StudentGradeFinal as DECIMAL(9,2))) as averageres
FROM StudentModule
join Module on StudentModule.ModuleId = Module.ModuleId
WHERE Semester = 'Spring'
AND Module.ModuleId in
(
SELECT Module.ModuleId FROM Module
Join StudentModule on Module.ModuleId = StudentModule.ModuleId
Where StudentId = '40104002'
)
GROUP BY Module.ModuleTitle, Module.ModuleDescription

SELECT Module.ModuleTitle, Module.ModuleDescription, StudentGradeFinal
FROM StudentModule
join Module on StudentModule.ModuleId = Module.ModuleId
WHERE Semester = 'Spring' AND StudentModule.StudentId = '40104002'

最佳答案

如果我理解正确的话,您有两个查询始终只返回一行(平均值/最小值/最大值一行和学生详细信息一行)。如果您想将它们“合并”在一个结果中,您所要做的就是使用这两个查询作为内联 View ,并将它们连接到始终为真的值上,例如 1=1。

所以:

select * from
(
first query here
) a
join
(
second query here
) b
on 1=1

请小心 - 确保查询只返回一行,否则您将开始获得笛卡尔积,并且这些积会产生各种奇怪的情况。

希望对你有帮助

关于mysql - 返回平均值以及特定行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42531224/

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