sql >> Databasteknik >  >> RDS >> Sqlserver

Villkorlig SQL ORDER BY ASC/DESC för alfakolumner

Ett alternativ

;WITH cQuery AS
(
   SELECT
       *,
       ROW_NUMBER() OVER (ORDER BY SortColumn) AS RowNum
   FROM
       MyTable
)
SELECT
   *
FROM
   cQuery
ORDER BY
   RowNum * @Direction --1 = ASC or -1 = DESC

Eller FALL som IMHO är lite fulare

ORDER BY
  CASE WHEN 'ASC' THEN SortColumn ELSE '' END ASC,
  CASE WHEN 'DESC' THEN SortColumn ELSE '' END DESC


  1. Hur man skapar ett Excel-dokument från ett Java-program med hjälp av Apache POI

  2. mysql WHERE IN array sträng / användarnamn

  3. Förstå Pivot Operator i SQL

  4. Bästa personsökningslösning med SQL Server 2005?