SQL query для поиска разницы значений

есть база данных вида:

[actor] [movie] [year]
[tom  ] [ f10 ] [1990]
[tom  ] [ f10 ] [1995]
[ben  ] [ f10 ] [1997]
[tom  ] [ f10 ] [1997]
[ben  ] [ f10 ] [1998]
[ben  ] [ f10 ] [1999]

Нужно найти актера у которого был наибольший перерыв между фильмами. В данном случае, это Том (1990-1995). Вопрос: можно ли это сделать внутри SQL query?


Ответы (1 шт):

Автор решения: Akina
WITH cte AS ( SELECT actor, 
                     `year` - LAG(`year`) OVER (PARTITION BY actor ORDER BY `year`) delta
              FROM source_table )
SELECT actor
FROM cte
ORDER BY delta DESC LIMIT 1
→ Ссылка