为什么在 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
。
即使我在两个查询中都添加了 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
。