SCHEMA:
фильмы:
[Идентификатор, название, RELEASE_YEAR, страна, продолжительность, язык, сертификация, брутто, бюджет]
За сколько лет было выпущено более 200 фильмов?
Мой запрос
select count(release_year)
from films
group by release_year
having count(title)>200;
Ожидаемый результат 13.
Проблема: я получаю
Count
236
203
209
225
221
214
252
238
220
224
226
227
260
что мне здесь не хватает?
Если вы хотите число, то вам нужен подзапрос:
select count(*)
from (select release_year
from films
group by release_year
having count(title) > 200
) x;
Вы можете разбить его на части, запросив годы и посчитав фильмы, выпущенные в этом году, а затем сосчитать строки в этом наборе результатов:
with cte as (
select release_year
from films
having count(title) > 200
)
select count(*)
from cte;
или же
select count(*)
from (
select release_year
from films
having count(title) > 200
) cte;
То, что вы делаете, это группирование по году выпуска, так что вы получаете одну строку за год выпуска, а число, которое вы получаете за каждый год, это количество строк, в которых release_year не равен нулю (count(release_year)
)