SQL累加常見的三種方法

2022-09-19 13:45:11 字數 861 閱讀 1881

有如下表add_num

我們希望實現如下結果:

開窗函式

學過開窗函式的小夥伴肯定首先想到的就是它了,不錯,開窗函式可以很快速的求解出來,具體寫法如下:

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 ) amountfrom add_num a

笛卡爾積這種方法小夥伴們可能不常見,但是也可以用來求解累加,笛卡爾積其實就是兩兩組合形成乙個集合,通過where條件過濾出符合我們需要的結果集。

select  a.orderdate,  sum (b.amount) amountfrom  add_num across join add_num bwhere b.orderdate <= a.orderdategroup by a.orderdate

SQL分頁的三種方法

三種sql分頁法 表中主鍵必須為標識列,id int identity 1,1 1.分頁方案一 利用not in和select top分頁 語句形式 select top 10 from testtable where id not in select top 20 id from testtabl...

SQL分頁的三種方法

三種sql分頁法 表中主鍵必須為標識列,id int identity 1,1 1.分頁方案一 利用not in和select top分頁 語句形式 select top 10 from testtable where id not in select top 20 id from testtabl...

演算法 求質數常見的三種方法

最近新開了乙個欄目,打算記一些常見問題的演算法,以後說不定有用到可以套用一些。質數 prime number 又稱素數,有無限個。質數定義為在大於1的自然數中,除了1和它本身以外不再有其他因數。這次我們的例題是 求n以內的質數。其中 n是傳入的引數 這裡我們介紹三種常見方法 1.完全遍曆法 這種演算...