为什么在 Teradata 和 Snowflake 中执行的同一查询的排序顺序不同?

Why do I get different sort order of the same query executed in Teradata & Snowflake?

即使我在两个查询中都添加了 order by 子句,我得到的排序顺序也不同。 以下是我在 Teradata 和 snowflake 上执行的查询-

天睿数据:

Select column1, column2, column3, column4,column5 From Teradata_Table  Where column1 in (1027837724,1040965189,1046224751) and column2='2021-03-11'
order by column1 ; 

结果 -->

column1 column2 column3 column4 column5
1027837724 3/11/2021 0 42.66 5942
1027837724 3/11/2021 12052.34 2.99 5735
1040965189 3/11/2021 5336.72 10.87 5944
1040965189 3/11/2021 0 311.16 5942
1046224751 3/11/2021 0 14.99 5735
1046224751 3/11/2021 0 2.99 5735

雪花:

Select column1, column2, column3, column4,column5 From Snowflake_Tablename  Where column1 in (1027837724,1040965189,1046224751) and column2='2021-03-11'
order by column 1

结果 -->

column1 column2 column3 column4 column5
1027837724 3/11/2021 12052.34 2.99 5735
1027837724 3/11/2021 0 42.66 5942
1040965189 3/11/2021 5336.72 10.87 5944
1040965189 3/11/2021 0 311.16 5942
1046224751 3/11/2021 0 14.99 5735
1046224751 3/11/2021 0 2.99 5735

正如评论所说:

  • 您只按一列排序,无论数据库如何,按该列排序的行的顺序都是相同的。
  • 但您并没有要求数据库按任何其他列排序,因此可以以任意顺序显示具有相同 column1 的行。

如果你想让顺序一致,你应该ORDER BY column1, column2, column3, etc