2015-02-23 3 views
1

Я изучаю SQL в школе, и у нас есть только база данных MYSQL для чтения, содержащая информацию о фильмах.SQL-оператор - фильтрация по последней дате

Таблица фильмов содержит следующие столбцы: distributor_id, film_id, год (год выпуска), название.

Один вопрос, который мы должны закончить это:

"Напишите запрос, чтобы найти год самого последнего выпуска от каждого дистрибьютора, который выпустил более двух фильмов Ваш результат таблица должна состоять из трех колонок.: идентификатор дистрибьютора, год выпуска последнего фильма и общее количество фильмов, выпущенных дистрибьютором ».

У меня возникли проблемы с этим и то, что мне удалось до сих пор:

SELECT `distributor_id`, COUNT(*) FROM `movieschema`.`films` 
GROUP BY `distributor_id`; 

Это дает мне список раздатчик идентификаторов наряду с общим количеством фильмов они произвели.

Как я могу изменить это заявление, чтобы вернуть год последнего фильма, где дистрибьютор выпустил более двух фильмов?

ответ

0

Попробуйте это:

SELECT `distributor_id`, COUNT(*) as TotalFilms, MAX(`year`) LatestFilm 
FROM `movieschema`.`films` 
GROUP BY `distributor_id` 
HAVING TotalFilms > 2 
+0

ли MySQL действительно позволяют ссылаться TotalFilms в 'п HAVING'? – shawnt00