У меня есть данные в таблице (ниже), и мне нужно выбрать самое последнее обновление от каждого пользователя. Здесь данные отсортированы по дате, поэтому в столбце SomeData указано самое последнее уникальное значение каждого пользователя. Top 1 SomeData не будет работать, потому что вернется только для одного пользователя. Возможно ли это даже с использованием только SQL?
Date SomeData User ...
8/5/2010 2.2 UserC
4/5/2010 1.1 UserA
3/5/2010 9.4 UserB
1/5/2010 3.7 UserA
1/5/2010 6.1 UserB
Быстрый взлом - что-то вроде этого должно сработать, если ваше имя исходной таблицы - 'd', вы можете использовать row_number (), чтобы упорядочить результаты, а затем запросить производную таблицу:
select *
from
(
select Date, Data, [User], row_number() over(partition by [User] order by [Date] desc) rownumber
from d
) x
where rownumber = 1