SQL Manual Sortorder

时间:2017-01-11 11:50:24

标签: sql

以下数据是从SQL表中随机提取的,我希望数据按以下顺序排序。我将如何为它编写SQL查询?

Image

编辑:我想通过下面的图片订购。

Image2

3 个答案:

答案 0 :(得分:1)

这应该这样做:(SQL Server,MYSQL)

SELECT [DESC], SortOrder]
FROM MyTable
ORDER BY [DESC] DESC

让我知道。

答案 1 :(得分:1)

嗯。嗯。 。

order by length(desc) desc

注意:desc几乎是所有数据库中的保留字,因此对于列来说它是一个糟糕的选择。此外,某些数据库中可能会将length()称为len()

按第一列的长度排序,按降序排列。这似乎是基于样本数据的排序顺序。

答案 2 :(得分:1)

试试这个:

SELECT [DESC]
FROM MyTable
ORDER BY [DESC],
         CASE WHEN LEN([DESC]) - LEN(REPLACE([DESC],' ','')) = 0 THEN 1
              WHEN LEN([DESC]) - LEN(REPLACE([DESC],' ','')) = 1 THEN 2
              WHEN LEN([DESC]) - LEN(REPLACE([DESC],' ','')) = 2 THEN 3
              ELSE 4
         END