求出一个表前面多少条记录的金额相加大于等于指定的值
2016-05-23 15:36
316 查看
DECLARE @t TABLE ( id INT PRIMARY KEY, n INT ) INSERT INTO @t (id,n) VALUES (2,10),(3,12),(5,13),(7,14),(8,15) SELECT * FROM @t DECLARE @v INT SET @v = 30 ;WITH t AS( SELECT ROW_NUMBER() OVER (ORDER BY id) AS rowNum, id,SUM(n) OVER (ORDER BY id) AS s FROM @t ) ,t2 AS ( SELECT a.rowNum FROM t A WHERE A.s>=@v AND EXISTS( SELECT * FROM t B WHERE b.rowNum=a.rowNum-1 AND b.s<@v ) ) SELECT * FROM t A WHERE Exists( SELECT * FROM t2 B WHERE A.rowNum<=B.rowNum )
相关文章推荐
- SharedPreferences之getBoolean
- JDBC中数据类型与日期问题
- Java基础回顾:覆写equals()方法
- 原生js的数组除重复
- 4.NSDate
- iOS开发-搜索栏UISearchBar和UISearchController
- rpmbuild打包过程控制,禁用“brp-java-repack-jars ”
- Struct vs Class 作为HashTable或者Dictionary的Key
- SGMII 和 Serdes 的详细说明
- VR 360 audio youtube process
- Google推荐的图片加载库Glide介绍
- Bootstrap 下拉菜单多级联动
- 转:nginx 从入门到精通的博文
- IM如何成为企业服务的入口?
- Scala设计模式Part I. 创建模式——1.抽象工厂
- SharedPreference.Editor的apply和commit方法异同
- 【iOS开发】GitLab教程 (二)
- ViewPager内容无法显示的问题
- div垂直居中的n种方法
- 面向对象开发方法概述