Если я пишуGROUP BY и HAVING в SQL
SELECT continent FROM world GROUP BY continent HAVING sum(population) >= 100000000
он будет возвращать все континенты, которые имеют общую сумму более 100 млн. Но если я не буду оставлять GROUP BY так
SELECT continent FROM world HAVING sum(population) >= 100000000
он вернется только на один континент (в данном случае Азия).
Почему?
Поскольку он выполняет 'sum' для всего набора данных: вы не указали' GROUP BY' явно, поэтому он сгруппирован по всему набору данных. – zerkms