sql - "HAVING ... GROUP BY"和 "GROUP BY ... HAVING"之间的区别

标签 sql oracle syntax group-by having

我的表 MYTABLE 有 2 列:AB

我有以下代码片段:

SELECT MYTABLE.A FROM MYTABLE 
    HAVING SUM(MYTABLE.B) > 100
    GROUP BY MYTABLE.A

SELECT MYTABLE.A FROM MYTABLE 
    GROUP BY MYTABLE.A
    HAVING SUM(MYTABLE.B) > 100

是一样的吗?这两个代码是否有可能返回不同的结果集?

提前谢谢

最佳答案

根据记录,没有区别。人们只是习惯在 GROUP BY 之后看到 HAVING。

http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_10002.htm#SQLRF20040

Specify GROUP BY and HAVING after the where_clause and hierarchical_query_clause. If you specify both GROUP BY and HAVING, then they can appear in either order.

http://sqlfiddle.com/#!4/66e33/1

关于sql - "HAVING ... GROUP BY"和 "GROUP BY ... HAVING"之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20471319/

相关文章:

sql - oracle插入很慢

php mysql 查询,如果用户 ID 作为好友退出,则删除好友请求

java - 甲骨文 ResultSetMetaData getPrecision/getScale

c - C代码中问号的出现

sql - 在 Proc SQL Teradata passthrough 中使用 SAS 宏变量

sql - GROUP BY 在 SQL 中使用参数

sql - 具有多个嵌套SELECT语句的GROUP BY问题

sql - Oracle 查询使用 Xpath 获取同一节点的逗号分隔列表

sql - 没有逗号的 SQL FROM 子句是什么意思?

Objective-C 我可以简写 += 增量属性吗?