我有一个带有ac_id,txn_amt列的txn表。它将存储数据txn金额以及帐户ID。以下是数据示例
==> cscript D:\VB_scripts\SO\37563820.vbs
1 Null Null
9 Nothing Nothing
Null = Nothing
not (Null = Nothing)
Null is Nothing
NOT (Null is Nothing)
==> D:\VB_scripts\SO\37563820.vbs(12, 1) Microsoft VBScript runtime error: Object required
我想以这样的方式编写查询,即所有在先前金额的10%范围内的金额应该组合在一起。输出应该是这样的:
AC_ID TXN_AMT
10 1000
10 1000
10 1010
10 1030
10 5000
10 5010
10 10000
20 32000
20 32200
20 5000
我尝试使用LAG功能,但仍然无能为力。这是我尝试过的代码段:
AC_ID TOTAL_AMT TOTAL_CNT GROUP
10 4040 4 1
10 10010 2 2
20 64200 2 3
20 5000 1 4
任何线索或帮助都将受到高度赞赏。
答案 0 :(得分:4)
如果之前的意味着"最大数量小于",那么你可以这样做。您可以找到间隙的位置(即大于10%的差异)。然后,您可以通过计算间隙数来指定一个组:
=IF(RIGHT(A2;4)="jjjj";TEXT(A1;"yyyy");TEXT(A1;"jjjj"))