通过雪花中的内部视图排序以创建唯一ID

问题描述 投票:0回答:2

我的代码每行生成唯一的ID(800万行数据)。如果将ORDER BY放在CREATE VIEW AS...内,行的顺序是否相同?

预期结果将是始终具有相同的ID,无论何时何地执行视图。我读到view语句内的ORDER BY不能保证静态排序,并且在视图外使用ORDER BY可以使其正常工作。

雪花Dwh的工作原理是否有所不同?根据我在执行计划中看到的内容,它看起来很简单:嵌套查询最低的星星会在执行操作时向上移动)

Maybye而不是视图,我应该去摆桌子?

 - 样本数据将表determin_sort创建或替换为(选择uuid,position,val1,val2从值('u98rutu',66788,1,3),('u999etd',66788,2,3),('voko225',66788,2,3),('pp29ccd',229,20,30),('aa55jmw',229,2,3),('1ojcugi7',8994,2,30),('2yrhbf',8994,20,3)v(uuid,position,val1,val2)); - 视图创建或替换视图v_determin_sort为SELECT'L'|| row_number()以上(按位置排序)作为LIDuuid,位置,val1,val2 FROM(选择row_number()超过(按uuid按位置顺序划分)为rn,*来自determin_sort在(通过uuid按位置顺序划分)上合格的row_number()= 1按UUID排序);-查询视图SELECT * FROM v_determin_sort OR LID;

我的代码每行生成唯一的ID(800万行数据)。如果我将ORDER BY放在CREATE VIEW AS ...中,那将使行顺序保持一致吗?预期的结果将是始终具有相同的ID号...

sql view sql-order-by unique snowflake-data-warehouse
2个回答
1
投票

无法保证每次运行视图时,同一行的LID编号都会<]如果要在视图中按LID进行排序,我相信在这种特定情况下会很好,因为先计算LID列然后对其进行排序。尽管我建议不要在视图中添加排序操作,因为排序是一项昂贵的操作。


0
投票
我的代码每行生成唯一的ID(800万行数据)。如果将ORDER BY放在CREATE VIEW AS ...内,那行的顺序将保持不变吗?
© www.soinside.com 2019 - 2024. All rights reserved.