ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

SQL中累加的三种方法

2022-06-25 15:02:37  阅读:173  来源: 互联网

标签:小伙伴 累加 ADD NUM 三种 SQL OrderDate SELECT


之前给小伙伴们介绍了三种去重的方法,虽然不能留言,但是看到大家的点赞和在看数都比较多,今天再给大家分享一下三种累加的方法。

 

有如下表ADD_NUMSQL中累加的三种方法_sql基础

我们希望实现如下结果:

SQL中累加的三种方法_sql基础_02

开窗函数学过开窗函数的小伙伴肯定首先想到的就是它了,不错,开窗函数可以很快速的求解出来,具体写法如下:

SELECT  
OrderDate,
SUM(Amount) OVER(ORDER BY OrderDate) Amount 
FROM Add_Num

子查询第二种就是子查询了,这种方法也是比较常见的,特别是在MySQL 不支持开窗函数的时候,用到的比较多

SELECT
  A.OrderDate,
  (
    SELECT SUM (B.AMOUNT)
    FROM  ADD_NUM B
    WHERE    B.OrderDate <= A.OrderDate
  ) Amount
FROM  ADD_NUM A

笛卡尔积这种方法小伙伴们可能不常见,但是也可以用来求解累加,笛卡尔积其实就是两两组合形成一个集合,通过WHERE条件过滤出符合我们需要的结果集。

SELECT
  A.OrderDate,
  SUM (B.AMOUNT) Amount
FROM  ADD_NUM A
CROSS JOIN ADD_NUM B
WHERE B.OrderDate <= A.OrderDate
GROUP BY A.OrderDate

以上三种方法均能实现累加功能,小伙伴们可以自己动手写一下,其中涉及的知识点也可以好好研究一下。

来源:https://blog.51cto.com/u_13002900/5278337

标签:小伙伴,累加,ADD,NUM,三种,SQL,OrderDate,SELECT
来源: https://www.cnblogs.com/konglxblog/p/16411600.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有