Description:
Suppose I want to know what the HAVING clause is for.
That's what documentation is for, right?
At https://dev.mysql.com/doc/refman/8.0/en/select.html
there are a lot of details about where you can and cannot use the HAVING clause, comparison between HAVING and WHERE, limitations, etc, but at no point does it ever just explain what the HAVING clause means or does.
It's sort of implied that it's a condition, like WHERE. You can deduce that by the fact that the docs tell you not to use HAVING when you should use WHERE. But it's never explicitly said.
It's like your are ASSUMING that the reader already knows what the HAVING clause means.
You should never assume that. Documentation is for explaining what the statements and clauses do, not just for giving in-depth details to readers that are assumed to already know the basics. Otherwise where do you put the limit between what is expected to be already known and what you need to document??
That the meaning of HAVING is pretty intuitive and corresponds to the meaning of the word "having" in English is no excuse. The same is true for "WHERE" and yet, the documentation does explicitly say what the WHERE clause does:
"The WHERE clause, if given, indicates the condition or conditions that rows must satisfy to be selected. where_condition is an expression that evaluates to true for each row to be selected. The statement selects all rows if there is no WHERE clause."
There is no equivalent explanation for the HAVING clause, and there isn't even one that vaguely states something like "HAVING is similar to WHERE but...". That's completely implied.
How to repeat:
...