Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Запрос на выборку значений с максимальным ID  [new]
Gufa
Member [заблокирован]

Откуда:
Сообщений: 10
Есть таблица:

ID |ReportNumber |Years |DateIssue |Status
26 | 0026 | 2009 |19/09/2009 |Canceled
43 | 0043 | 2009 | 28/09/2009 |Canceled
1857 | 0287 | 2014 |22/09/2014 |Closed
1859 | 0288 | 2014 |22/09/2014 |Closed
1864 | 0288 |2014 |22/09/2014 |Closed
2466 | 0287 | 2014 |22/09/2014 |Deferred
2218 | 0212 | 2015 |13/07/2015 |Open
2219 | 0213 | 2015 |13/07/2015 |Open

нужно написать запрос, который сделает выборку по максимальным значениям ID.
То есть должна получится вот такая таблица:

ID |ReportNumber |Years |DateIssue | Status
26 |0026 |2009 |19/09/2009 |Canceled
43 |0043 |2009 |28/09/2009 |Canceled
1864 |0288 |2014 |22/09/2014 |Closed
2466 |0287 |2014 |22/09/2014 |Deferred
2218 |0212 |2015 |13/07/2015 |Open
2219 |0213 |2015 |13/07/2015 |Open


Select Max(IDIR) не помогает, так как в GROUP BY должен добавляться Status и выводятся max ID для одного и того же отчета но с разными статусами. Однако мне нужен вывод именно статуса с отчетом у которого максимальный ID.
Прошу подскажите как же это сделать.
30 янв 16, 05:51    [18749199]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на выборку значений с максимальным ID  [new]
aleks2
Guest
select * 
   from ( select *, row_number() over(partition by ReportNumber order by ID desc) as npp from aTable) as aTableNumbered
   where npp = 1

select * 
   from aTable as t
   where ID = ( select max(ID) from aTable where ReportNumber = t.ReportNumber)
30 янв 16, 06:20    [18749204]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на выборку значений с максимальным ID  [new]
3unknown
Member

Откуда: New York
Сообщений: 140
select top 1 with ties *
from mytable
order by row_number() over(partition by ReportNumber order by id desc)
30 янв 16, 07:18    [18749211]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на выборку значений с максимальным ID  [new]
Gufa
Member [заблокирован]

Откуда:
Сообщений: 10
aleks2, Запрос

select *
from aTable as t
where ID = ( select max(ID) from aTable where ReportNumber = t.ReportNumber)

Вывел требуемую информацию. Спасибо.
30 янв 16, 08:20    [18749230]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить