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

Откуда:
Сообщений: 10
Добрый день, уважаемые коллеги!

Вопрос скорее всего достаточно глупый, но даже не могу сформулировать вопрос гуглу, поэтому обращаюсь здесь. есть таблица tableName, приблизительно такого вида:


| ID | VAL | DATE | RECDATE
-------------------------------------------
| 23 | 12 | 25.10.2014 | 26.10.2014 00:34
-------------------------------------------
| 23 | 15 | 25.10.2014 | 26.10.2014 00:47
-------------------------------------------
| 27 | 78 | 25.10.2014 | 26.10.2014 00:34
-------------------------------------------
| 27 | 87 | 25.10.2014 | 26.10.2014 00:47
-------------------------------------------
| 23 | 14 | 26.10.2014 | 27.10.2014 00:31

Из этой таблицы мне необходимо выбрать последнюю запись по RECDATE для каждого DATE и ID.
То есть, например, из приведенных данных должно остаться вот это:


| ID | VAL | DATE | RECDATE
-------------------------------------------
| 23 | 15 | 25.10.2014 | 26.10.2014 00:47
-------------------------------------------
| 27 | 87 | 25.10.2014 | 26.10.2014 00:47
-------------------------------------------
| 23 | 14 | 26.10.2014 | 27.10.2014 00:31

Как это можно сделать?
22 ноя 14, 17:04    [16890137]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос о запросе  [new]
iap
Member

Откуда: Москва
Сообщений: 46999
SELECT TOP(1) WITH TIES *
FROM tableName
ORDER BY ROW_NUMBER()OVER(PARTITION BY ID,[DATE] ORDER BY RECDATE DESC);
и ещё 100500 способов (в поиск по форуму)
22 ноя 14, 18:01    [16890267]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос о запросе  [new]
jaanq
Member

Откуда:
Сообщений: 10
iap, спасибо!
Запомню и буду применять!
22 ноя 14, 19:34    [16890470]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить