ORACLE和PostgreSQL之间的不同默认顺序
我有一个简单的ORACLE查询,我应该重写它以在postgresql上运行,输出如下ORACLE和PostgreSQL之间的不同默认顺序,oracle,postgresql,sql-order-by,Oracle,Postgresql,Sql Order By,我有一个简单的ORACLE查询,我应该重写它以在postgresql上运行,输出如下 Select X,Y FROM table_name order by Y 如果是,表中只有以下数据 这里是PG和oracle在数据排序方面的区别 你知道为什么会出现这种差异吗 不同的默认顺序 在Oracle和Postgres(或任何其他关系数据库)中都不存在“默认排序”这样的东西。关系数据库中的表表示未排序的集合 您正在对包含两(所有)行相同值的列进行排序。这与根本不排序基本相同,因为您没有定义任何排序
Select X,Y FROM table_name order by Y
如果是,表中只有以下数据
这里是PG和oracle在数据排序方面的区别
你知道为什么会出现这种差异吗
不同的默认顺序
在Oracle和Postgres(或任何其他关系数据库)中都不存在“默认排序”这样的东西。关系数据库中的表表示未排序的集合
您正在对包含两(所有)行相同值的列进行排序。这与根本不排序基本相同,因为您没有定义任何排序条件来打破这些联系。没有额外的排序列,数据库就可以自由地以它喜欢的任何顺序返回具有相同排序值的行
如果希望按列x
对行进行排序,则需要在按顺序中包含该列
select X,Y
FROM table_name
order by x,y;
或者,您可能想要按y、x排序order by,x
-您的问题(以及难以阅读的屏幕截图)不清楚您没有将y
添加到order by
子句中,因此您不能期望结果按y
排序。