根據彙總數量依次扣減的SQL新語法

2022-04-09 00:55:11 字數 1403 閱讀 8685

根據彙總數量依次扣減,以下寫法屬於sql2012以上版本的新特性,2012以下版本都不支援此寫法。看來新版本確實為我們節省不省事。

1 ;with a as(2

select'a1

' billno,2400

total

3union

all4

select'a3

' billno,4000

total

5union

all6

select'a5

' billno,7000

total7)

8 , b as(9

select

*,row_number() over(partition by dtl.billno order

by dtl.billno) rowid from(10

select'a1

' billno,100 qty , 0

fqty

11union

all12

select'a1

' billno,500 qty, 0

fqty

13union

all14

select'a1

' billno,1500 qty, 0

fqty

15union

all16

select'a1

' billno,330 qty, 0

fqty

17union

all18

select'a3

' billno,700 qty, 0

fqty

19union

all20

select'a3

' billno,95 qty, 0

fqty

21union

all22

select'a5

' billno,780 qty, 0

fqty

23) dtl24)

25--

以下只支援sql2012以上版本

26select t1.billno,t1.qty,a.total, a.total -

t1.qtyresult result

27from (select

*,sum(b.qty) over(partition by b.billno order

by b.rowid rows unbounded preceding) as qtyresult from b) t1 left

join a on a.billno=t1.billno

結果圖如下:

使用 CUBE 彙總資料

cube 運算子生成的結果集是多維資料集。多維資料集是事實資料 即記錄個別事件的資料 的擴充套件。擴充套件是基於使用者要分析的列建立的。這些列稱為維度。多維資料集是結果集,其中包含各維度的所有可能組合的交叉 cube 運算子在 select 語句的 group by 子句中指定。該語句的選擇列表包含...

GridControl頁尾顯示列的彙總資料

gridview4.optionsview.showfooter true 啟用顯示頁尾 索引為1的列gridview4.columns 1 summaryitem.displayformat gridview4.columns 1 summaryitem.fieldname totalmoney ...

排序演算法彙總(資料結構)

1.氣泡排序 氣泡排序 int a 20 int n for int i 0 i1 i 而對於氣泡排序有乙個優化的方法,優化在於當一次排序沒有進行過交換的時候,也就是之後的順序都是有序的時候,相當於整個序列都是有序的了。氣泡排序優化 int a 20 int n int falg 做乙個標記位來判斷...