【发布时间】:2013-08-02 11:56:39
【问题描述】:
我在 sql 方面不是很有经验,但通常可以通过构建基本查询,但这对我来说太复杂了,无法解决。
我有两个查询,每个查询分别给出我需要的结果,但是我需要将它们组合起来以获得我需要的最终结果。
在一个查询中,它获取特定学生的所有“分数”并返回平均值。在另一个查询中,我从表中删除最高和最低记录。
我想结合这些查询首先去除最高和最低分数,然后只返回剩余记录的平均分数。请帮助指导我使用正确的语法。
我的查询:
这将返回所有最高和最低分数:
SELECT *
FROM `scores`
WHERE `tot_score` = (
SELECT MAX( `tot_score` )
FROM `scores` )
OR `tot_score` = (
SELECT MIN( `tot_score` )
FROM `scores` )
这会返回平均分数:
SELECT `pres_id`, COUNT( `pres_id` ) , ROUND( AVG( `tot_score` ) , 2 ) , `username`, `name`, `pres_day`
FROM `scores`, `users`
WHERE `users.id_user` = `scores.pres_id`
GROUP BY `pres_id`
如何将这些结合起来得到我需要的结果?
【问题讨论】:
-
结合显示一些示例数据和所需输出是什么意思?