Я пытаюсь получить с каждым вопросом, что имеет максимальную запись seq_no, но возвращает неверные данные.Функция SQL-MAX, возвращающая неверные данные
Вот запрос:
SELECT id, attempt, seq_number, question
FROM question_states
WHERE attempt = 374
AND seq_number IN (SELECT MAX(seq_number) FROM question_states WHERE attempt = 374 GROUP BY question)
GROUP BY question, id
Я один имя таблицы в виде вопросов, структура приводится ниже: -
id--seq_number--attempt--question
1 --0 --374 -- 130
2 --0 --374 -- 130
3 --1 --374 -- 130
4 --2 --374 -- 130
5 --1 --374 -- 131
Почему этот запрос возвращает 2 записей в отношении вопроса 130
? и если я удалю GROUP BY id
, то вернет неверные данные.
Осмотритесь на похожие вопросы – Strawberry
Да, у меня много вопросов, но нет фруктов. – Suleman
Потому что «id» отличается, я думаю, – Sergey