Skip to content

Bug: SQL Тренажер - Ошибка при проверке задания №44 #44

@5I-I5

Description

@5I-I5

Ошибка при проверке задания №44

https://sql-academy.org/ru/trainer/tasks/44

Задача: вывести кол-во лет относительно сегодняшней даты.
Ошибка: Тесты принимают ответ только относительного прошлого года, хотя не должны. Предполагаю в тестах зафиксирована дата (прошлогодняя) или ответ хранится в кэше и он редко обновляется.

Верное решение, которое не проходит:

SELECT EXTRACT(YEAR FROM age(birthday)) AS max_year
FROM Student st
	LEFT JOIN Student_in_class sic ON sic.student = st.id
	LEFT JOIN Class c ON c.id = sic.class
	AND c.name LIKE '10%'
ORDER BY birthday ASC
LIMIT 1 
Image

Но если семестить ответ до прошлого года, то ответ пройдет

SELECT EXTRACT(YEAR FROM age(birthday)) AS max_year
FROM Student st
	LEFT JOIN Student_in_class sic ON sic.student = st.id
	LEFT JOIN Class c ON c.id = sic.class
	AND c.name LIKE '10%'
ORDER BY birthday ASC
LIMIT 1 OFFSET 12 -- Отличие тут. Добавил OFFSET 12
Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions