У меня есть таблица 'TEST'
, как показано нижеSQL запросов к группе текста на основе числового столбца
Number | Seq | Name
-------+-------+------
123 | 1 | Hello
123 | 2 | Hi
123 | 3 | Greetings
234 | 1 | Goodbye
234 | 2 | Bye
Я хочу написать запрос, чтобы сгруппировать таблицу «Номер» и выберите строки с максимальным порядковый номер (MAX (Seq)). Выходной сигнал запроса будет
Number | Seq | Name
-------+-------+------
123 | 3 | Greetings
234 | 2 | Bye
Как это сделать?
EDIT: TEST
- фактически таблица, которая является результатом длинного запроса (объединения нескольких таблиц), который я уже написал. У меня уже есть оператор (SELECT ...
), чтобы получить нужные мне значения. Есть ли способ удалить повторяющиеся строки (с тем же «числом», как показано выше) и выбрать только тот, который имеет максимальное значение «Seq». Я на Microsoft SQL Server 2008 (SP2)
Я надеялся, что там будет путь для достижения этой цели путем
SELECT * FROM (SELECT ...) TEST <condition to group>
Не могли бы вы рассказать о своем запросе, а часть yu застряла? – zee
Что должно произойти там, где есть связи (как, очевидно, в ваших выборках)? Выберите один случайным образом? Это похоже на то, что произошло в вашем примере вывода (или, возможно, вы выбрали по алфавиту?) – mathguy
@ z_- Я отредактировал вопрос – woodhead92