Простой вложенный оператор SQL
Я только начинаю изучать SQL, и у меня есть вопрос, который может показаться простым. Учитывая следующие данные:
шаг 1 - проект 1
шаг 2 - проект 1
шаг 3 - проект 1
шаг 1 - проект 2
шаг 2 - проект 2
шаг 1 - проект 3
шаг 1 - проект 4
шаг 2 - проект 4
шаг 3 - проект 4
шаг 4 - проект 4
Я пытаюсь найти последний шаг для каждого проекта. Я думаю, что я должен использовать гнездовой оператор SQL, но я не уверен в правильном способе сделать это.
2 ответа
Ваш запрос будет выглядеть примерно так:
SELECT project, max(step) as step
FROM Table_Name
GROUP BY project
GROUP BY
группирует все проекты вместе и max()
возвращает максимальное значение. Однако, если ваши значения являются строками, вам, возможно, придется удалить текст и преобразовать их в целые числа, чтобы правильно отсортировать и получить правильное значение max().
Предполагая, что ваша таблица имеет 2 столбца (Step, Project), вы можете использовать
SELECT Project, MAX(Step) FROM Table GROUP BY Project