Я пытаюсь создать таблицу результатов с последней завершенной датой курса для каждого кода курса, а также последний полный код курса для каждого сотрудника , Ниже мой запрос:MAX() и MAX() OVER PARTITION BY производит ошибку 3504 в запросе Teradata
SELECT employee_number,
MAX(course_completion_date)
OVER (PARTITION BY course_code) AS max_course_date,
MAX(course_completion_date) AS max_date
FROM employee_course_completion
WHERE course_code IN ('M910303', 'M91301R', 'M91301P')
GROUP BY employee_number
Этот запрос выдает следующее сообщение об ошибке:
3504 : Selected non-aggregate values must be part of the associated group
Если удалить MAX() OVER (PARTITION BY ...) линии, запрос выполняется только в порядке, так Я выделил проблему для этой линии, но после поиска этих форумов и Интернета я не вижу, что я делаю неправильно. Может ли кто-нибудь помочь?
Поскольку вы используете OVER со ссылкой на MAX, SQL видит этот как аналитические функции, а не агрегаты. –