Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Условен SQL ПОРЪЧАЙТЕ ПО ASC/DESC за алфа колони

Една опция

;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

Или СЛУЧАЙ, който ИМХО е малко по-грозен

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да създам ограничение за проверка на множество таблици?

  2. Как мога да редактирам стойности на INSERT в тригер на SQL Server?

  3. SQL Server Express срещу express localdb

  4. Как мога да задам низ за връзка на SQL Server?

  5. Когато не е посочено „Поръчай по“, какъв ред избира заявката за вашия набор от записи?