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

Откуда:
Сообщений: 1089
имеется таблица регистраций, упрощенно
actasknumberdate


для каждой пары who,subj нужно выбрать запись с максимальной датой

делаю так
select * from task_reg t
where [date]=(select max([date]) 
				from task_reg tt 
			   where tt.ac=t.ac and tt.tasknumber=t.tasknumber)
and ac=18


как-то можно оптимизировать? (полей помимо приведенных еще с десяток)
17 ноя 15, 13:30    [18428992]     Ответить | Цитировать Сообщить модератору
 Re: Оптимальней выбрать максимальную дату  [new]
Добрый Э - Эх
Guest
waszkiewicz,

способов - вагон и маленькая тележка...
17 ноя 15, 13:34    [18429031]     Ответить | Цитировать Сообщить модератору
 Re: Оптимальней выбрать максимальную дату  [new]
iap
Member

Откуда: Москва
Сообщений: 47047
WITH CTE AS
(
 SELECT N=ROW_NUMBER()OVER(PARTITION BY ac,tasknumber ORDER BY [date] DESC),*
 FROM task_reg
)
SELECT * FROM CTE WHERE N=1;
17 ноя 15, 13:35    [18429036]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить