GROUP BY
を1秒間待たせてみましょう。通常のクエリ(GROUP BY
なし)では、意味の違いは何ですか? this answerはなぜ機能しますか? (代わりWHERE
のHAVING
句にエイリアスを置く)WHEREとHAVINGの意味の違いは何ですか?
答えて
HAVING
要約行で動作 - GROUP BY
が適用される前WHERE
テーブル全体で動作しています。 (GROUP BY
を脇に置くことはできません。GROUP BY
を省略しても、舞台裏で起こっている暗黙的な動作は変更されません)。は、GROUP BY
と一緒に使用するために予約されている節です。
このことから、WHERE
はインデックスを使用できますが、HAVING
はそうではないことに注意することも重要です。 (グループ化されていない結果セットは非常に簡単ですが、理論的にはHAVING
のインデックスを使用できますが、実際にこのようにクエリオプティマイザが実装されたことはありません)。
MySQLはクエリをWHERE
句まで評価し、HAVING
句でフィルタリングします。だからHAVING
は列別名を認識できますが、WHERE
は列エイリアスを認識できません。
GROUP BY
句を省略すると、結果をグループ化しないようにクエリに指示するだけです。
それは意味の違いではありません少なくとも、私はこの意味を理解していません)。それは実装の詳細のように思えます。 – ripper234
非常に広く言えば、WHERE
はクエリに入るデータ(DBテーブル)をフィルタリングし、HAVING
はクエリの出力をフィルタリングします。
WHERE
句の文は、テーブル(およびその他の外部データソース)のみを参照できますが、HAVING
句の文はクエリによって生成されたデータのみを参照できます。
- 1. MySQLでは、 "WHERE IN"と "WHERE"の違いは何ですか?
- 2. Clojure: `と〜@の意味は何ですか?
- 3. WindowsDXとは何ですか? WindowsGLの意味と基本的な違い
- 4. 構文エラーと意味エラーと論理エラーの違いは何ですか?
- 5. C++とObjective Cの "静的"の意味の違いは何ですか?
- 6. NSDecimalAdd() - constの意味は何を意味するのですか?
- 7. BackboneJs:elとtagNameの違いはどういう意味ですか?
- 8. 客観的な意味での意味は何ですか?
- 9. このWHERE句とこのJoinの違いは何ですか?
- 10. ディレクトリ名とは何ですか? 'と '..'という意味で、faDirectoryはどういう意味ですか?
- 11. Pythonの[...]の意味は何ですか?
- 12. Makefileの '%'の意味は何ですか?
- 13. タイコの$の意味は何ですか
- 14. "* ngFor"の "*"の意味は何ですか?
- 15. Perlの=〜の意味は何ですか?
- 16. numpyの '*'の意味は何ですか?
- 17. os.pathの "./"の意味は何ですか?
- 18. ReactJSでは何の意味ですか?
- 19. MongoDBでの意味は何ですか?
- 20. Perlで@_の意味は何ですか?
- 21. MySql - HAVING vs WHERE
- 22. SQL where or having
- 23. IQueryable .WhereとIQueryable.Exceptの違いは何ですか?
- 24. CSSの意味は何ですか?
- 25. forループの意味は何ですか?
- 26. x [:] = yの意味は何ですか?
- 27. :: ::の意味は何ですか?
- 28. dylibファイルの意味は何ですか?
- 29. ngx_http_request_s :: extenの意味は何ですか
- 30. i = jの意味は何ですか -
しかし、私がリンクしている答えはGROUP BYをまったく含んでいません... – ripper234
@ ripper234:そのクエリとGROUP BYクエリのクエリアナライザを見ると、 (実際の式の値をロードする場合を除く) - HAVING句を適用するために、結果セット内のすべての要素に対してGROUP BY - O(n)反復の "ペナルティ"を支払っています。 –
@ ripper234:group byを必要としないのは、GROUP BY演算子に対するMySQLの拡張であり、集約されていない列のサブセットでGROUP BYを使用するのと同じです。 http://rpbouman.blogspot.com/2007/05/debunking-group-by-myths.html –