пак и пак
Дата: 04.12.2009 00:02:10
create table aa
(
dt datetime,
val1 int,
val2 int
)
insert into aa values
(0, 1, 2),
(1, 1, 3),
(2, 1, 4),
(3, 2, 1),
(4, 2, 2)
select * from aa
-- первый вариант
select dt, val1 from (
select *,MAX(val2)over(partition by val1)v from aa
)x where val2=v
-- второй вариант
select dt, aa.val1 from aa join
(
select val1, MAX(val2) val2
from aa
group by val1
)x on aa.val1=x.val1 and aa.val2=x.val2
drop table aa
как в один запрос выбрать то же самое что сделано в два - выбрать дату для каждого val1 имеющего максимальный val2 в своей группе.
туплю..