[SQL ] 計算某一時間內值的增加?

看板Database作者 (Chou)時間14年前 (2011/09/14 21:49), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
目前遇到一個問題,想請問各位前輩: 假如有個資料表TEST為下: SN USER_ID LEVEL ---- ------- ------- 1 JOHN 5 2 ERIC 6 3 TOM 3 4 JOHN 2 5 ERIC 6 6 TOM 2 請問我要怎麼撈出等級提升大於2(John)的值呢,雖然此問題已用Cursor程式解決 但想問用SELECT的方式如何查詢出來,目前的想法是GROUP BY USER_ID 然後篩選LEVEL最大與最小值,但SQL好像不能做減法阿? 目前只做到這樣(只能做到一筆,因為多筆的話Level排序會有問題,另還有減法問題) SELECT *, (SELECT TOP(1) LEVEL FROM TEST WHERE USER_ID='JOHN' ORDER BY LEVEL) AS first_LV (SELECT TOP(1) LEVEL FROM TEST WHERE USER_ID='JOHN' ORDER BY LEVEL DESC) AS Last_LV FROM TEST GROUP BY USER_ID 結果為: SN USER_ID LEVEL first_LV Last_LV 1 JOHN 6 2 6 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.252.127.80 ※ 編輯: shen616 來自: 111.252.127.80 (09/14 21:51)
文章代碼(AID): #1ESB3m1p (Database)