三.年度各月銷售紀錄與累計紀錄
銷售額 累計
一月 1200 1200
二月 1300 2500
三月 1000 3500
四月 3500 7000
...
..
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
首先建立一個範例Table(Java2) CREATE TABLE Java2( nRecIdn [int] IDENTITY (1, 1) NOT NULL , cMonth [char] (2) NOT NULL , nInvoiceAmt [int] NOT NULL ) 塞值... nRecIdn nMonth nInvoiceAmt 1 01 10 2 02 20 3 03 30 4 04 40 5 05 0 6 06 33 7 07 22 8 08 12 9 09 13 10 10 99 11 11 100 12 12 200 SELECT cMonthAS MONTH ,nInvoiceAmt AS MONTHLY ,( SELECT SUM(Java2_B.nInvoiceAmt) AS CUMULATIVE FROM Java2 AS Java2 _B WHERE Java2_B.cMonth<= Java2_A.cMonth ) FROM Java2 AS Java2_A GROUP BY cMonth,nInvoiceAmt ORDER BY cMonth |
其實觀念很簡單,大家看了應該就會清楚...
不過還是要強調一點,當資料量多的時候還是需要去評量到底是要在SQL上處理,還是要將資料抓到前端之後再處理...
還有,這是一個範例table,所以日期欄位(cMonth)我使用了char,不過我還是強烈的覺得日期欄位還是用datetime的Data Type(西元年)會是最好的選擇!!!!
我沒有統獨情結喔!!!(最近民國年改制為西元年的話題...

)
沒有留言:
張貼留言