[SQL ] 計算某一時間內值的增加?
目前遇到一個問題,想請問各位前輩:
假如有個資料表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)