如何使用SQL Server按多列对表进行排序?

时间:2015-07-14 13:28:20

标签: sql-server

我有一个未分类的表A.

C1    C2    C3      C4
----------------------    
15      2     7      5
12      5     4      8
19      1     3     12
21      9     1     18
 4     11    12     22

我想对这个表格进行排序,使得c1,c4,c2和c3更高的值位于顶部。

此外,c1> c2> c4> c3在优先级方面。

我不知道如何解决这个问题,非常感谢专家提供的任何帮助。

我应该为每列分配一个分数值,如c1 = .35,c2 = .3,c4 = .2和c3 = .15,并将每列的值乘以其分数值,并将所有值相加每一行?

2 个答案:

答案 0 :(得分:1)

听起来像你需要:

ORDER BY C1 DESC, C2 DESC, C4 DESC, C3 ASC

答案 1 :(得分:0)

你的意思是简单的订单?然后只需添加order by子句:

ORDER BY C1 DESC, C4 DESC, C2 DESC, C3 ASC

DESC =从最高到最低的下降 .ASC =从最低到最高的升序