SELECT COUNT(Sno) FROM SC WHERE Sno in (SELECT DISTINCT(Sno) FROM SC GROUP BY Sno HAVING AVG(Grade) > 60 );
以上是代码, 我的疑问是:明明子查询返回的内容只有12条 但是执行整条语句 会统计出共有 37条 这是为什么?
SELECT COUNT(DISTINCT(Sno)) FROM SC WHERE Sno in (SELECT Sno FROM SC GROUP BY Sno HAVING AVG(Grade) > 60 );
如果在父查询加上distinct 就不会出现这样的情况