SQL-ROW_NUMBER() OVER函数的基本用法(源码案例)

     SELECT SUM(t.AdjustedBalance) AS Allqmye FROM 	(	 
	 SELECT * FROM (
		 SELECT 
				ROW_NUMBER() OVER ( PARTITION BY change.AccountSysNo ORDER BY change.indate DESC ) AS RowNumber ,
				(CASE WHEN account.Source=1 THEN account.VendorSysNo ELSE account.DistributorSysNo END ) AS SysNo,
				change.InDate,
                change.AccountSysNo,
				change.AdjustedBalance
         FROM   [BBCFinance].[dbo].[AccountBalanceChange] change
                INNER JOIN BBCAccount.dbo.Account account ON account.SysNo = change.AccountSysNo
				 LEFT JOIN BBCAccount.dbo.Vendor V WITH ( NOLOCK ) ON V.SysNo = Account.VendorSysNo
				 LEFT JOIN BBCAccount.dbo.Distributor D WITH ( NOLOCK ) ON D.SysNo = Account.DistributorSysNo
				
				 ) r  WHERE SysNo=2272 AND InDate >= '2016/11/23 0:00:00' AND InDate <= '2016/11/30 0:00:00'
		   ) t		      WHERE  RowNumber=1



		    SELECT SUM(t.AdjustedBalance) FROM 	(	 
		 SELECT 
				ROW_NUMBER() OVER ( PARTITION BY change.AccountSysNo ORDER BY change.indate DESC ) AS RowNumber ,
				(CASE WHEN Account.Source=1 THEN Account.VendorSysNo ELSE Account.DistributorSysNo END ) AS SysNo,
                change.AccountSysNo,
				change.AdjustedBalance
         FROM   [BBCFinance].[dbo].[AccountBalanceChange] change
                INNER JOIN BBCAccount.dbo.Account account ON account.SysNo = change.AccountSysNo
				 LEFT JOIN BBCAccount.dbo.Vendor V WITH ( NOLOCK ) ON V.SysNo = Account.VendorSysNo
				 LEFT JOIN BBCAccount.dbo.Distributor D WITH ( NOLOCK ) ON D.SysNo = Account.DistributorSysNo
         WHERE  account.VendorSysNo = 2272
		 AND change.InDate >= '2016/11/23 0:00:00' AND change.InDate <= '2016/11/29 23:59:59'  
		   ) t
		   WHERE t.RowNumber=1

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏流柯技术学院

centos6配置vnc登录远程物理机及vb复制vdi启动虚拟机网络问题

2、启动VNC服务 # vncserver You will require a password to access your desktops. Passw...

742
来自专栏杨建荣的学习笔记

很多人比较纠结的约束和索引的关系(r7笔记第75天)

最近有不少朋友公众号留言或者微信私信问我一个问题,出乎我的意料,问题竟然都是很相似的,所以我统一答复一下。 之前写了一篇文章 一个清理和查询都要兼顾的简单方案,...

3346
来自专栏乐沙弥的世界

导入导出 Oracle 分区表数据

导入导入Oracle 分区表数据是Oracle DBA 经常完成的任务之一。分区表的导入导出同样普通表的导入导出方式,只不过导入导出需要考

895
来自专栏java系列博客

关于ORACLE merge into 的两个常见错误

4893
来自专栏文渊之博

优化SQLServer--表和索引的分区(二)

简介     之前一篇简单的介绍了语法和一些基本的概念,隔了一段时间,觉得有必要细致的通过实例来总结一下这部分内容。如之前所说,分区就是讲大型的对象(表)分成更...

1626
来自专栏行者常至

Oracle 用户解锁

811
来自专栏Hadoop数据仓库

Oracle 中 isnumeric 的三种实现

1. 利用 to_number CREATEORREPLACEFUNCTIONisnumeric (strINVARCHAR2) RETURNNUMBER IS...

2129
来自专栏跟着阿笨一起玩NET

给SQL补充一个查看表结构的存储过程

501
来自专栏landv

金蝶K/3 跟踪语句_业务单据

2242
来自专栏ASP.NET MVC5 后台权限管理系统

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(15)-权限管理系统准备

这节我们说下权限系统的特点,本系统采用的是MVC4+EF5+IOC 接口编程的架构,其中的权限树用的是DWTree,功能上做到灵活,授权操控细致,权限可以细到按...

2085

扫码关注云+社区