我在PostgreSQL中有一個表, 但問題是我的數據沒有按正確的數據順序組織。如何通過postgresql中的數據順序更新表?
例如,我的表的第一行是'2017-05-30',最後一行是'2017-02-23'。 所以我想按日期「排序」我的表格。
我不問
SELECT * FROM MY_TABLE ORDER BY DATE;
我要 「更新」 我的表。
我該怎麼做?
我在PostgreSQL中有一個表, 但問題是我的數據沒有按正確的數據順序組織。如何通過postgresql中的數據順序更新表?
例如,我的表的第一行是'2017-05-30',最後一行是'2017-02-23'。 所以我想按日期「排序」我的表格。
我不問
SELECT * FROM MY_TABLE ORDER BY DATE;
我要 「更新」 我的表。
我該怎麼做?
在你問的意義上,你不能對PostgreSQL表進行排序。
在關係代數,該行的順序是不重要的,也沒有一個表中的行存儲在任何特定的順序保證。也沒有辦法確保以特定的順序返回行,除非你特別指定例如通過使用ORDER BY
。否則,您不應該依賴返回的行的順序。
正如指出的評論,RDBMS可以重新排列行的順序查詢結果用於優化的目的等。
如果您願意,可以使用row_number()
添加一個新的序列號字段,指示相對於您的訂單(例如日期字段)的行的排名。
此外,DBMS可以在其認爲適當重新安排行。 – david25272
排在關係數據庫中的** **不「排序」,所以你不能「更新」你的表。 –