如何将SQL Server表中数据的id记录从高到低排序

时间:2016-09-21 07:58:50

标签: sql sql-server sorting

我在按ID排序数据方面遇到问题,我尝试了order by ASCDESC,但没有一个能够满足我的需求。

通常从低到高注册到表中的记录,例如:

ID   column1     column2 
-------------------------
1    test1        test1
2    test2        test2
3    test3        test3

但我想将数据记录到从高到低的表格,如下所示

ID   column1     column2 
-------------------------
3    test1        test1
2    test2        test2
1    test3        test3

你的帮助将不胜感激。

正如我所说,我希望数据库表中的记录从高到低。

2 个答案:

答案 0 :(得分:1)

我想您希望ID的顺序相反,但其他列按正常顺序排列:

SELECT 
    ROW_NUMBER() OVER (ORDER BY ID DESC) AS ID,
    column1,
    column2
FROM dbo.Table1 
ORDER BY ID DESC

DEMO

如果您确实想要最新的7条记录,但这些记录必须按相反的顺序排列:

SELECT x.* FROM (
   SELECT TOP 7 t.*
   FROM dbo.Table1 t
   ORDER BY t.ID DESC
) x
ORDER BY x.ID DESC

DEMO

答案 1 :(得分:0)

实际上,关系数据库不考虑select语句的顺序。 这意味着select不会影响表的订单行。 因为它存储在自己的结构中,可以更快地检索数据 取决于指数等。