我在sql方面不是很有经验,但通常可以通过构造基本查询,但这对我来说太复杂了.
我有两个查询,每个查询都给出了我需要的结果,但是我需要将它们组合起来得到我需要的最终结果.
在一个查询中,它抓取特定学生的所有"分数"并返回平均值.在另一个查询中,我从表中删除了最高和最低记录.
我想结合这些查询首先剥离最高和最低分数,然后仅返回剩余记录的平均分数.请帮助指导我使用正确的语法.
我的疑问:
这将返回所有最高和最低分数:
SELECT *
FROM `scores`
WHERE `tot_score` = (
SELECT MAX( `tot_score` )
FROM `scores` )
OR `tot_score` = (
SELECT MIN( `tot_score` )
FROM `scores` )
Run Code Online (Sandbox Code Playgroud)
这将返回平均分数:
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`
Run Code Online (Sandbox Code Playgroud)
我如何结合这些来获得我需要的结果?