问题描述
我有一个表,其中的列分别是位置和贷方,该位置包含字符串行,主要是location_name
和npl_of_location_name
。功劳包含整数行,主要是credit_of_location_name
和credit_npl_of_location_name
。我需要创建一列来计算((贷项的奇数行-贷项的偶数行)* 0.1)。我该怎么做?
解决方法
当您指定“奇数行”和“偶数行”时,是指行号吗?因为,除非您的查询对数据进行排序,否则您无法控制行顺序;数据库服务器返回行,但是它们是物理存储的。
一旦确定行已正确排序,则可以使用Mod(@ INROWNUM,2)= 1之类的技术来确定“奇数”,零为偶数。如果Transformer在顺序模式下执行,则效果最好。如果以并行模式执行,则需要使用分区算法,以确保特定位置的奇数行和偶数行在同一节点中。