Я пытаюсь выбрать самое последнее значение для RESULT
во время группы, но не могу понять, как я могу это сделать успешно.
Вот данные таблицы для quiz_result:
Вот мой текущий SQL оператор и результат:
SELECT quiz_result.ID_EVALUATION,
quiz_result.ID_QUIZ_QUESTION,
quiz_result.ID_USER,
quiz_result.RESULT as RECENT_RESULT,
max(CREATED_DATE) as RECENT_ATTEMPT_DATE,
"-----" as NEXT_REPITITION,
COUNT(quiz_result.RESULT) as TOTAL,
sum(case when quiz_result.RESULT = 'false' then 1 else 0 end) AS FAILED_ATTEMPTS,
sum(case when quiz_result.RESULT = 'true' then 1 else 0 end) AS SUCESS_ATTEMPTS
FROM p2.quiz_result
GROUP BY ID_USER,ID_QUIZ_QUESTION
ORDER BY CREATED_DATE DESC;
Я думал, что ORDER BY CREATED_DATE
отсортирует результат перед группой, но это не так.
Если вы сравните RESULT
из первого изображения со столбцом RECENT_RESULT
на втором изображении ясно, что RECENT_RESULT
должно было быть ' false ', если все работало так, как задумано.
Кажется, я не могу понять, как я могу это сделать это, так что некоторая помощь очень ценится.