I\'m looking to select just the latest records of a table based on date, but only one one Distinct listing of each of the urls. The table structure is like this;
This is actually pretty easy to do using simple aggregation, like so:
select URL, max(DateVisited)
from <table>
group by URL
This is usually done using row_number()
:
select t.*
from (select t.*,
row_number() over (partition by url order by datevisited desc) as seqnum
from t
) t
where seqnum = 1;
This allows you to get all the columns associated with the latest record.