SQL Server迭代求和

2023-10-26


drop table t_geovindu 
  
create table t_geovindu 
( 
    xid int IDENTITY (1, 1), 
    price money, 
    DebitCredit VARCHAR(2), 
    adate datetime default(getdate()) 
      
) 
  
insert into t_geovindu(DebitCredit,price) values('C',10) 
insert into t_geovindu(DebitCredit,price) values('C',25) 
insert into t_geovindu(DebitCredit,price) values('C',36) 
insert into t_geovindu(DebitCredit,price) values('C',66) 
insert into t_geovindu(DebitCredit,price) values('D',-11) 
insert into t_geovindu(DebitCredit,price) values('C',32) 
insert into t_geovindu(DebitCredit,price) values('D',-50) 
  
  
-- 
select a.xid, a.price, 
 (select sum(price) from t_geovindu b where b.xid <= a.xid) as Balance,DebitCredit   
from t_geovindu a 
  
-- 
select xid, price,  
 (case  when Balance  is null then price else Balance  end ) as Balance  
from
 (select a.xid, (select  sum(price) from t_geovindu b where b.xid < a.xid)  as Balance  , a.price 
from t_geovindu a)  x 
-- 
  
select  sum(price) from t_geovindu b where (b.xid < a.xid) 
  
select a.xid, (select  sum(price) from t_geovindu b where b.xid < a.xid)  as Balance  , a.price 
from t_geovindu a 
  
--- 
create function mysum(@xh int, @price int) returns int
begin
   return (select 
           (case when Balance  is null then @price  else Balance  end) as Balance   
          from ( select  sum(price) as Balance  from t_geovindu where xid < @xh) x) 
end
--- 
select xid, price, dbo.mysum(xid, price)  as Balance  
from t_geovindu 
  
  
  
  
  
  
  
create table vipnoDly 
( 
    VID Int IDENTITY (1, 1) PRIMARY KEY, invoiceno nvarchar(50),indate datetime, vipno nvarchar(50),amount int,dcr nvarchar(20) 
) 
go 
  
SET IDENTITY_INSERT [dbo].vipnoDly ON 
Insert vipnoDly(invoiceno,indate,vipno,amount,dcr) Select invoiceno,indate,vipno,amount,dcr From vipdly AS A Where vipno='654321' order by A.indate 
  
select * from vipnoDly 
  
--SET IDENTITY_INSERT dbo.Tool ON 
  
  
Create Function [dbo].[GetVipNoDlyList] 
( 
    @ID nvarchar(20) 
) 
Returns @Tree Table (VID Int IDENTITY (1, 1), invoiceno nvarchar(50),indate datetime, vipno nvarchar(50),amount int,dcr nvarchar(20)) 
As
Begin
Insert @Tree(invoiceno,indate,vipno,amount,dcr) Select invoiceno,indate,vipno,amount,dcr From vipdly AS A Where vipno=@ID order by A.indate 
Return
End
GO 
  
select * from [dbo].[GetVipNoDlyList] ('geovindu') as a order by indate 
  
---SQL Server聚合函数和子查询迭代求和 
---如果ID不是第一條記錄,會出現第一行統計合計有問題,所以需查詢生成一個新的ID增長記錄 
select a.VID, a.amount, 
 (select sum(amount) from [dbo].[GetVipNoDlyList] ('geovindu') b where b.VID <= a.VID) as Balance   
from [dbo].[GetVipNoDlyList] ('geovindu') a 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL Server迭代求和 的相关文章

随机推荐

  • JSOUP爬取4K高清壁纸

    jsoup jar包 1 11 2 链接 https pan baidu com s 1pe3 r5 YB pGEsosfRLbsA pwd 41w5 提取码 41w5 效果 代码 import org jsoup Jsoup import
  • Java.nio.file.NoSuchFileException] - 文件未找到异常处理及解决方法

    Java nio file NoSuchFileException 文件未找到异常处理及解决方法 在日常的Java开发中 我们经常会遇到各种异常情况 其中之一就是 Java nio file NoSuchFileException 即文件未
  • 求帮助安装mysql 出现红色感叹号

  • 【python】【django】cursor.fetchall()的结果是元组

    今天做测试 用django db 的connection来执行一个非常简单的查询语句 sql str select col 1 from table 1 where criteria 1 cursor connection cursor c
  • 混乱的代码是技术债吗

    翻译自 Uncle Bob 的 Blog A Mess is not a Technical Debt 主要是鲍勃大叔的观点 混乱的代码实现不是技术债 原文地址见超链接 The term Technical Debt was created
  • 成功解决安装tensorflow,安装进度1/4,爆红一大片且有很多File出现timed out

    之前安装几次 CPU tensorflow总是出现一大片红 自己发现其中一个原因是python版本和tensorflow不对应 tensorflow 2 0 0 得和python3 5 3 7对应 我之前的版本是3 8 5 会出现不兼容情况
  • 银行定期存款产品目标客户的确定——基于逻辑回归

    本篇文章将会介绍用Python分析银行定期存款产品目标客户的确定详细建模细节 业务框架分析以及模型的选择与评估分析参见上一篇文章 银行定期存款产品目标客户的确定 基于逻辑回归 建模前分析 1 导入各种模块并读取数据 2 数据预处理 维规约
  • STM32 keil中__IO得意思

    IO解释 STM32得库函数中 HAL和LL库都有 存在一个 IO得宏定义 define I volatile const lt defines read only permissions define O volatile lt defi
  • STM32配置时钟系统流程(固件库/外设标准库)

    前提 STM32F10x系列固件库 标准外设库 前言 固件库帮我们写好了 时钟系统 时钟树 的配置函数 该函数也不需要我们去调用 只要正确包含了STM32的启动文件 s文件 就行 s启动文件调用执行了时钟配置函数 先于main函数执行 s启
  • “钢铁侠”大战“机器人”!马斯克称「笼中格斗」将在 X 上直播,小扎应战:8 月 26 日如何?...

    由马斯克和扎克伯格领衔 随后引爆全网讨论的 约架 已过去快两个月 先是约定在拉斯维加斯来一场 笼中格斗 接着网友看热闹不嫌事大的做起了预告海报 最后由马斯克母亲出面叫停 当大家以为格斗一事要不了了之时 马斯克再次发声 要打 准备在 X 上直
  • 【Android】拾物App期末作业

    一 期末作业题目 校园失物 拾物APP 二 实施目的 通过本实训 使受训者可以深入理解Android相关技术 并将所学知识应用到实际的中等规模的程序设计中 同时 通过本实训 受训者可以拓展Android相关的知识 提升受训者的能力 三 实施
  • java中JDK JRE JVM的关系

    1 1 软件开发介绍 程序是为了模拟现实世界 解决显示问题而使用计算机语言编写的一系列有序的指令集合 软件 即一系列按照特定顺序组织的计算机数据和指令集合 有系统软件和应用软件之分 人机交互方式 图形化界面 GUI 命令行方式 CLI 常用
  • IO作业day5

    1 gt 使用两个线程完成两个文件的拷贝 主线程拷贝前一半内容 子线程拷贝后一半内容 并且主线程要阻塞回收子线程资源 2 gt 使用三个进程完成两个文件的拷贝 主线程拷贝前三分之一 子线程1拷贝中间三分之一 子线程2拷贝后三分之一 主线程要
  • 使用 Android 开发 MQTT 客户端

    MQTT 代表消息队列遥测传输 它是一种功能强大的消息传输协议 主要用于机器对机器 M2M 和物联网 IoT 通信上下文 MQTT 在这些情况下是首选 因为它易于实施 并且非常适合资源有限的设备 在本文中 我们将开发一个使用 MQTT 协议
  • c语言结构体简单试题,C语言6结构体练习题6

    第六章 结构体 1 下面对结构变量的叙述中错误的是 A 相同类型的结构变量间可以相互赋值 B 通过结构变量 可以任意引用它的成员 C 结构变量中某个成员与这个成员类型相同 的简单变量间可相互赋值 D 结构变量与简单变量间可以赋值 2 有枚举
  • 如何实现算法中的公平性

    机器学习的公平性问题近几年受到越来越多的关注 该领域出现了一些新的进展 机器学习训练在涉及到性别 种族等与人相关的敏感属性时 常常会由于统计性偏差 算法本身甚至是人为偏见而引入歧视性行为 由此 为消除差别影响 改进机器学习公平性 主要途径包
  • 在jsp中实现表格内设置滚动框

    当我们在页面中需要放置多条数据时 滚动框则将是一个十分不错的选择 在需要加入滚动框的表格内设置标签 table tbody style display block tbody table
  • 利用Python实现卷积神经网络的可视化

    对于深度学习这种端到端模型来说 如何说明和理解其中的训练过程是大多数研究者关注热点之一 这个问题对于那种高风险行业显得尤为重视 比如医疗 军事等 在深度学习中 这个问题被称作 黑匣子 Black Box 如果不能解释模型的工作过程 我们怎么
  • C#网络编程,多个客户端连接服务器端并发送消息

    最近学习进度到了C 网络编程 在学习这一章节的知识点 写了一些小demo 此次发表的为服务器监听端口 和多个客户端连接 获取多个客户端发来的消息 服务器端代码 using System Net using System Net Socket
  • SQL Server迭代求和

    drop table t geovindu create table t geovindu xid int IDENTITY 1 1 price money DebitCredit VARCHAR 2 adate datetime defa