Re: [SQL ] 對前一筆資料做計算

看板Database (資料庫)作者 (愚零鬥武多)時間12年前 (2013/05/14 12:46), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《gundan (彈彈的哀傷)》之銘言: : 我有個table 想要另外做成一張view : table內容有點像股票 : ex. : date price : 20130430 20 : 20130502 21 : 20130503 21 : 20130506 20.5 : 20130507 22 : 我想要做出一個view裡面包含每日漲跌的 : 請問這樣的sql語法要如何寫? : 謝謝 : date price change : 20130430 20 : 20130502 21 1 : 20130503 21 0 : 20130506 20.5 -0.5 : 20130507 22 1.5 這是在不考慮效能的前提下寫的... select x.*,x.price-isnull(y.price,x.price) as change from (select ROW_NUMBER() OVER (ORDER BY date asc) AS sn_x,* from test3 ) as x left join (select ROW_NUMBER() OVER (ORDER BY date asc) AS sn_y,* from test3 ) as y on x.sn_x=y.sn_y+1 主要是先建立流水號,再透過另一張表的流水號+1做join ,再相減就是你要的結果了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 192.192.105.5

05/14 18:25, , 1F
謝謝啦!
05/14 18:25, 1F
文章代碼(AID): #1HaS6J2z (Database)
討論串 (同標題文章)
文章代碼(AID): #1HaS6J2z (Database)