2016-09-21 23 views
-1

我有一個按ID排序數據的問題,我試過order by ASCDESC但他們都沒有做我所需要的。如何將SQL Server表中的數據的id記錄從高到低排序

通常記錄登記到表從低到高,例如:

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

,但我想記錄的數據表,從高至低爲遵循

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

您的幫助將是讚賞。

正如我所說的,我想看看在數據庫表中的記錄從高分到低分。

+0

如果記錄註冊表從高到低,當ID到0時會發生什麼?順便說一句,插入和查詢不是一回事。 SQL中的_Sort_更像是一個_SELECT_操作,您正在嘗試將其應用於_INSERT_中。 –

+1

身份證訂單/值不重要。不要試圖「重新排序」它們。 – jarlh

回答

1

我猜你要以相反的順序編號的,但列的正常秩序,其餘:

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

+0

事實上,我有很多記錄在我的表中,但我想只選擇7條最新記錄並將它們顯示在一個圖表中,當在「按順序」嘗試時排序不正確,因爲它顯示的日期反向,例如17 ,16,15,14,但我想顯示14,15,16,17,只有7個最新記錄 – Mom

+0

SELECT TOP 7 SUBSTRING(DATENAME(MONTH,[Time]),0,4)+ CONVERT(VARCHAR(10 ),DATEPART(DAY,[Time]))Day FROM [PL-PK] ORDER BY Id ASC「 – Mom

+0

@Mom:我不明白你爲什麼不使用'SELECT TOP 7 ... ORDER BY Id DESC' –

0

事實上,關係數據庫不考慮select語句的順序。 這意味着選擇不會影響訂單行的表格。 因爲它存儲在自己的結構,使得更快地檢索數據 取決於索引或等等。

相關問題