雷速体育_足球即时比分-今日中国足球直播

图片
当前位置: 首页 > 专题专栏 > 足球即时比分

SQL分组排名函数在审计中的运用

时间:2019-09-16 16:24   来源:福建省审计厅       字体显示:   默认   阅读:{{ pvCount }} 次

  我们知道,银行存款是流动性最高的资产,在审计中银行存款核对是我们重点关注的内容,如何按月快速核对多年银行存款余额成为审计中的关键。要按月核对银行存款余额,一是要快速提取每月银行存款余额,二是要依据AO2011财务数据计算出银行存款余额。现以福建农村信用社提供银行流水后台电子数据为模版,运用分组排名函数提取银行存款每月余额。 

  分组排名函数ROW_NUMBER() OVER(PARTITION BY COL1 ORDER BY COL2) 表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的),信用社后台银行流水中,有两个字段,一个是页次一个是笔次,银行存款月末余额是每月页次、行次最大对应行的余额。我们可根据按月分组按页次、名次排序就可按月分组定位银行存款余额流水月末余额组内行次,SQL语句如下: 

  SELECT convert(varchar(6),convert(date,交易日期),112) 交易年月, 

  交易日期,借贷标识,交易金额,余额,页次,笔次, 

  Row_Number() OVER (partition by convert(varchar(6),convert(date,交易日期),112) ORDER BY cast(页次 as int),cast(笔次 as int)) 按月分组排名序号 

     FROM 根据账号查询存款交易明细 

     order by  convert(varchar(6),convert(date,交易日期),112),cast(页次 as int),cast(笔次 as int) 

  

    

  根据分组排名行次提取月末银行余额SQL语句如下: 

  with temp  as( 

  SELECT  convert(varchar(6),convert(date,交易日期),112) 交易年月, 

  交易日期,借贷标识,交易金额,余额,页次,笔次, 

  Row_Number() OVER (partition by convert(varchar(6),convert(date,交易日期),112) ORDER BY cast(页次 as int),cast(笔次 as int)) 按月分组排名序号  

         FROM 根据账号查询存款交易明细) 

    select a.交易年月,b.余额 from ( 

           select 交易年月,max(按月分组排名序号) 每月最后一笔序号 from temp 

                  group by 交易年月) a 

       join temp b  

         on a.交易年月=b.交易年月 and a.每月最后一笔序号=b.按月分组排名序号 

 

    

  我们可根据AO2011编写SQL查询每月银行存款余额通过表联接就快速核对银行存款余额。(宁化县审计局摄影、供稿) 

附件下载