在查询数据时,有时候需要把数据进行累加查询,但希望从SQL中一次性把数据查询出来,今天给大家分享一下三种累加的方法。
1.子查询,这种方法是比较常见的,特别是在MySQL 不支持开窗函数的时候,用到的比较多
SELECT A.OrderDate,( SELECT SUM(B.AMOUNT) FROM ADD_NUM B
WHERE B.OrderDate <= A.OrderDate ) Amount FROM ADD_NUM A
2.笛卡尔积,这种方法可能不常见,但是也可以用来求解累加,笛卡尔积其实就是两两组合形成一个集合,通过WHERE条件过滤出符合我们需要的结果集
SELECT A.OrderDate,SUM(B.AMOUNT) Amount FROM ADD_NUM ACROSS JOIN ADD_NUM B WHERE B.OrderDate <= A.OrderDate
GROUP BY A.OrderDate
3.开窗函数,学过开窗函数的小伙伴肯定首先想到的就是它了,不错,开窗函数可以很快速的求解出来,不过 msyql >= mysql8
SELECT OrderDate,SUM(Amount)
OVER (ORDER BY OrderDate) Amount
FROM Add_Num

優(yōu)網(wǎng)科技秉承"專業(yè)團(tuán)隊(duì)、品質(zhì)服務(wù)" 的經(jīng)營理念,誠信務(wù)實(shí)的服務(wù)了近萬家客戶,成為眾多世界500強(qiáng)、集團(tuán)和上市公司的長期合作伙伴!
優(yōu)網(wǎng)科技成立于2001年,擅長網(wǎng)站建設(shè)、網(wǎng)站與各類業(yè)務(wù)系統(tǒng)深度整合,致力于提供完善的企業(yè)互聯(lián)網(wǎng)解決方案。優(yōu)網(wǎng)科技提供PC端網(wǎng)站建設(shè)(品牌展示型、官方門戶型、營銷商務(wù)型、電子商務(wù)型、信息門戶型、微信小程序定制開發(fā)、移動(dòng)端應(yīng)用(手機(jī)站、APP開發(fā))、微信定制開發(fā)(微信官網(wǎng)、微信商城、企業(yè)微信)等一系列互聯(lián)網(wǎng)應(yīng)用服務(wù)。