sql >> Databáze >  >> RDS >> Sqlserver

Uložená procedura v SQL Server (pořadí podle desc)?

Použijte 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

Váš originál je ekvivalentem ORDER BY convert(varchar,videos.posteddate,106) DESC

Takže třídíte podle řetězce „dd mon yyyy“, nikoli podle požadovaného skutečného data a času (rrrr-mm-dd hh atd.)

Myslím, že se jedná o SQL Server 2000:z paměti SQL Server 2005 tuto nejednoznačnost nepřijme




  1. Naučte se MySQL / MariaDB pro začátečníky – část 1

  2. Zpracování velkých objemů dat pomocí MySQL a MariaDB

  3. Jak najít řetězec v řetězci na serveru SQL

  4. Je možné použít pandas/sqlalchemy k vložení polí do databáze SQL? (postgres)