Użyj ORDER BY videos.posteddate
select distinct top 5
videos.videoid,
videos.videotitle,
videos.videoname,
convert(varchar,videos.posteddate,106) as posteddate,
videos.approvedstatus,
videos.videoimage,
(ISNULL(videos.views,0.0)) as [views],
videos.privacy,
(isnull(videos.rating,0.0)) as rating,
videos.userid,
users.userid,users.username
from
videos
left outer join
users on videos.userid=users.userid
where
videos.approvedstatus='Y' and videos.privacy='P'
order by
videos.posteddate desc
Twój oryginał jest odpowiednikiem ORDER BY convert(varchar,videos.posteddate,106) DESC
Więc sortujesz według ciągu „dd mon rrrr”, a nie żądanej rzeczywistej daty i godziny (rrrr-mm-dd hh itp.)
Myślę, że to jest SQL Server 2000:z pamięci SQL Server 2005 nie zaakceptuje tej niejednoznaczności