何去何从呢

何去何从呢

为什么需要放置您自己创建的列(例如select 1 as "number")之后HAVING而不是WHERE在MySQL?

难道没有什么坏处而不去做吗?WHERE 1(编写整个定义而不是列名)?


蝴蝶刀刀
浏览 490回答 3
3回答

沧海一幻觉

为什么您需要将您自己创建的列(例如,“选择1作为数字”)放在具有而不是在MySQL中的位置之后?WHERE应用之前GROUP BY, HAVING之后应用(并且可以对聚合进行筛选)。通常,您可以在这两个条款中引用别名,但是MySQL允许引用SELECT水平别名GROUP BY, ORDER BY和HAVING.除了“WHERE 1”(写整个定义而不是列名)之外,还有什么坏处吗?如果计算的表达式不包含任何聚合,则将其放入WHERE子句最有可能更有效。

茅侃侃

主要的区别是WHERE不能在分组项上使用(例如SUM(number))鉴于HAVING能,会,可以。原因是WHERE已完成以前分组和HAVING已完成后分组结束了。
打开App,查看更多内容
随时随地看视频慕课网APP