作者shen616 (Chou)
看板Database
标题[SQL ] 计算某一时间内值的增加?
时间Wed Sep 14 21:49:34 2011
目前遇到一个问题,想请问各位前辈:
假如有个资料表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)