让我们把GROUP BY
放在一边。在普通查询中(没有GROUP BY
),语义上有什么区别?为什么这个答案工作? (将别名放入HAVING
子句代替WHERE
)
HAVING
对汇总行进行操作 -WHERE
在之前对整个表进行操作GROUP BY
被申请;被应用。 (你不能把GROUP BY
aside, HAVING
是一个保留用于使用的子句GROUP BY
- 省略了GROUP BY
不会改变幕后发生的隐式操作)。
同样重要的是要注意,正因为如此,WHERE
可以使用索引HAVING
不能。 (在超级简单的未分组结果集中,理论上您可以使用索引HAVING
,但我从未见过实际以这种方式实现的查询优化器)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)