2017-06-02 60 views
0

我在PostgreSQL中有一個表, 但問題是我的數據沒有按正確的數據順序組織。如何通過postgresql中的數據順序更新表?

例如,我的表的第一行是'2017-05-30',最後一行是'2017-02-23'。 所以我想按日期「排序」我的表格。

我不問

SELECT * FROM MY_TABLE ORDER BY DATE; 

我要 「更新」 我的表。

我該怎麼做?

+0

排在關係數據庫中的** **不「排序」,所以你不能「更新」你的表。 –

回答

2

在你問的意義上,你不能對PostgreSQL表進行排序。

在關係代數,該行的順序是不重要的,也沒有一個表中的行存儲在任何特定的順序保證。也沒有辦法確保以特定的順序返回行,除非你特別指定例如通過使用ORDER BY。否則,您不應該依賴返回的行的順序。

正如指出的評論,RDBMS可以重新排列行的順序查詢結果用於優化的目的等。

如果您願意,可以使用row_number()添加一個新的序列號字段,指示相對於您的訂單(例如日期字段)的行的排名。

+0

此外,DBMS可以在其認爲適當重新安排行。 – david25272

相關問題