xhon Ответов: 1

Как выбрать значение, где количество общих значений th tabe больше N?


У меня есть таблица фильмов и еще одна таблица резерваций, которая отслеживает резервации для фильмов (у нее есть начальная и конечная даты).

Я хочу показать год, когда было зарезервировано максимальное количество видео.

Что я уже пробовал:

I did the following:

SELECT StartDate
FROM ReservatonsOfTheMovies res
INNER JOIN Movies mov ON mov.IDMovie = res.IDMovie
WHERE MAX (COUNT (StartDate))

1 Ответов

Рейтинг:
12

Richard Deeming

Для максимального количества бронирование:

SELECT TOP 1
    Year(StartDate) As [Year],
    Count(1) As Reservations
FROM
    ReservatonsOfTheMovies res
GROUP BY
    Year(StartDate)
ORDER BY
    Reservations DESC
;
Для максимального количества разные фильмы зарезервировано через год:
SELECT TOP 1
    Year(StartDate) As [Year],
    Count(DISTINCT IDMovie) As Reservations
FROM
    ReservatonsOfTheMovies res
GROUP BY
    Year(StartDate)
ORDER BY
    Reservations DESC
;


xhon

Спасибо! Что делать, если я хотел бы выбрать всех режиссеров (имя и фамилия), которые сделали более 10 фильмов?
Я хотел бы упорядочить их по количеству книг, которые они написали, от максимума до минимума.
Я сделал следующее:
Выберите CONCAT (DirctorName, DirectorSurname) в качестве директора
из фильмов
Где COUNT(*) > 10
ПОРЯДОК ПО КОЛИЧЕСТВУ(*) DESC

Richard Deeming

SELECT CONCAT(DirctorName, DirectorSurname) AS Director, Count(*) As MovieCount
FROM Movies 
GROUP BY CONCAT(DirctorName, DirectorSurname)
HAVING Count(*) > 10
ORDER BY MovieCount DESC

GROUP BY (Transact-SQL) - SQL Server | Microsoft Docs[^]