Я не понимаю, какое ключевое слово или фразу, указывающую на подзапрос, следует использовать для # 2 и # 3.
A. Я заметил, что всякий раз, когда поле упоминается в группе, оно должно быть упомянуто в поле выбора, но в приведенном ниже решении причина, по которой «film_id» не упоминается в первом операторе «выбора», заключается в том, что оно находилось под другим оператор "выбрать" со скобками? Б. Также мое решение дало мне совершенно другой ответ. Почему мы считаем по «id»?
- 2. Выберите максимальное и минимальное количество показов для конкретного фильма.
Мое решение: SELECT max (id), min (id) from (id, count (film_id) as no_films from screenings group by film_id) a;
Решение: ВЫБРАТЬ MAX (id), MIN (id) FROM (SELECT film_id, COUNT (id) AS id FROM screenings GROUP BY film_id) a;
Что касается # 3, я не понимаю мыслительный процесс, стоящий за этим. Почему «показы» не определены или не объединены? Когда используется "as" при использовании оператора count?
- 3. Выберите название каждого фильма и количество показов для этого фильма.
Мое решение:
select f.name,
(select count(id) as id from screenings s)
from films f
join films f ON s.film_id = f.id;
Решение:
SELECT name,
(SELECT COUNT(id) FROM screenings
WHERE film_id = f.id)
FROM films f;