我得到了表MYTABLE,它有2列:A、和B
我得到了以下代码:
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是一样的吗?这两个码有可能返回不同的结果集吗?
提前谢谢你
发布于 2013-12-09 15:02:35
正如文献记载的那样,两者之间没有区别。人们只是习惯于看到一群人在一起。
10002.htm#SQLRF20040
指定where_clause和hierarchical_query_clause后面的GROUP BY和after。如果同时指定GROUP BY和can,则它们可以按任一顺序显示。
http://sqlfiddle.com/#!4/66e33/1
发布于 2013-12-09 13:03:09
我最初写道:
我不确定你的第一次查询是否有效。据我所知,应该总是在小组之后。
我被大卫-奥尔德里奇纠正了,甲骨文博士说,命令不重要。虽然出于可读性的原因,我不建议使用Although (并防止与WHERE子句混淆),但在技术上是正确的。因此,你的问题的答案是“是的,是一样的”。
发布于 2013-12-09 13:02:56
不能在HAVING之前使用GROUP BY,HAVING与"WHERE“类似,但对于GROUP BY条件则是这样。
https://stackoverflow.com/questions/20471319
复制相似问题