开发者社区 问答 正文

在哪里与拥有

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

还有没有其他弊端WHERE 1(编写整个定义而不是列名)?

展开
收起
保持可爱mmm 2020-05-10 19:05:18 506 分享 版权
1 条回答
写回答
取消 提交回答
  • 为什么需要在HAVING之后放置自己创建的列(例如“ select 1 as number”),而不是在MySQL中放置WHERE?

    WHERE被施加之前GROUP BY,HAVING被后应用(并且可以在聚集体筛选)。

    在一般情况下,你可以在没有这些条款的引用别名,但MySQL允许引用SELECT在级别别名GROUP BY,ORDER BY和HAVING。

    还有什么缺点,而不是做“ WHERE 1”(写整个定义而不是列名)

    如果您计算出的表达式不包含任何聚合,则将其放入WHERE子句中可能会更有效率。来源:stack overflow

    2020-05-10 19:05:40
    赞同 展开评论