如何在T-SQL中执行此查询

Sao*_*obi 2 sql t-sql

我有3列AB C的表.

我想从这个表中选择*,但是按照A列的特定顺序排序.

换句话说,让我们说A列包含"stack","over","flow".

我想从这个表中选择*,并按照这个特定的顺序按列A排序:"stack","flow","over" - 既不是升序也不是降序.

可能吗?

JP *_*oto 10

您可以在ORDER BY子句中使用CASE语句.例如 ...

SELECT *
FROM Table
ORDER BY
   CASE A
      WHEN 'stack' THEN 1
      WHEN 'over' THEN 2
      WHEN 'flow' THEN 3
      ELSE NULL
   END
Run Code Online (Sandbox Code Playgroud)

查看定义自定义排序顺序以获取更多详细信息.