MiwuK1
2022-04-19 20:57
采纳率: 50%
浏览 34

MySQL 数据库疑问 查询学生平均分大于60的结果


SELECT COUNT(Sno) FROM SC WHERE Sno in (SELECT DISTINCT(Sno) FROM SC GROUP BY Sno HAVING AVG(Grade) > 60 );

以上是代码, 我的疑问是:明明子查询返回的内容只有12条 但是执行整条语句 会统计出共有 37条 这是为什么?

img

img

SELECT COUNT(DISTINCT(Sno)) FROM SC WHERE Sno in (SELECT Sno FROM SC GROUP BY Sno HAVING AVG(Grade) > 60 );

如果在父查询加上distinct 就不会出现这样的情况

1条回答 默认 最新

相关推荐 更多相似问题