Простой вложенный оператор 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
Другие вопросы по тегам