如何在postgresql中按数据顺序更新表?

如何在postgresql中按数据顺序更新表?,postgresql,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表进行排序

在关系代数中,行的顺序并不重要,并且不能保证表中的行是以任何特定的顺序存储的。也无法确保按特定顺序返回行,除非您特别指定顺序,例如使用
orderby
。否则,您不应该依赖于返回行的顺序

正如注释中指出的,RDBMS可能会重新排列查询结果中的行顺序,以达到优化等目的


如果愿意,您可以使用
row\u number()
添加一个新的序列号字段,该字段指示与您的订单相关的行的等级(例如日期字段)。

您不能按要求对PostgreSQL表进行排序

在关系代数中,行的顺序并不重要,并且不能保证表中的行是以任何特定的顺序存储的。也无法确保按特定顺序返回行,除非您特别指定顺序,例如使用
orderby
。否则,您不应该依赖于返回行的顺序

正如注释中指出的,RDBMS可能会重新排列查询结果中的行顺序,以达到优化等目的


如果愿意,您可以使用
row\u number()
添加一个新的序列号字段,该字段指示与您的顺序相关的行的排名(例如日期字段)。

此外,DBMS可以根据其认为合适的方式重新排列行。此外,DBMS可以根据其认为合适的方式重新排列行。关系数据库中的行没有“排序”,因此您无法“更新”关系数据库中的行未“排序”,因此无法“更新”表。