麻烦乌龟大哥帮忙看一下
麻烦乌龟大哥帮忙看一下,我不知道要怎么解决比较好:
我这里模拟了一个表:(实际库中的这个表的数据很大,有上百万条的数据)
DECLARE @TMP TABLE(SN INT ,EndDate DATETIME,Num DECIMAL(18,2) )
INSERT INTO @TMP
SELECT 1,CONVERT(CHAR(10),GETDATE(),120),22 UNION ALL
SELECT 1,CONVERT(CHAR(10),DATEADD(DAY,-1,GETDATE()),120),1 UNION ALL
SELECT 1,CONVERT(CHAR(10),DATEADD(DAY,-2,GETDATE()),120),0.1 UNION ALL
SELECT 1,CONVERT(CHAR(10),DATEADD(DAY,-6,GETDATE()),120),20 UNION ALL
SELECT 1,CONVERT(CHAR(10),DATEADD(DAY,-14,GETDATE()),120),50 UNION ALL
SELECT 1,CONVERT(CHAR(10),DATEADD(DAY,-15,GETDATE()),120),25 UNION ALL
SELECT 1,CONVERT(CHAR(10),DATEADD(DAY,-26,GETDATE()),120),48 UNION ALL
SELECT 1,CONVERT(CHAR(10),DATEADD(DAY,-37,GETDATE()),120),12 UNION ALL
SELECT 1,CONVERT(CHAR(10),DATEADD(MONTH,-3,GETDATE()),120),36 UNION ALL
SELECT 2,CONVERT(CHAR(10),DATEADD(DAY,-1,GETDATE()),120),36 UNION ALL
SELECT 2,CONVERT(CHAR(10),DATEADD(DAY,-2,GETDATE()),120),12 UNION ALL
SELECT 2,CONVERT(CHAR(10),DATEADD(DAY,-3,GETDATE()),120),22.23 UNION ALL
SELECT 2,CONVERT(CHAR(10),DATEADD(DAY,-14,GETDATE()),120),45 UNION ALL
SELECT 2,CONVERT(CHAR(10),DATEADD(DAY,-25,GETDATE()),120),22.65 UNION ALL
SELECT 2,CONVERT(CHAR(10),DATEADD(DAY,-36,GETDATE()),120),12 UNION ALL
SELECT 2,CONVERT(CHAR(10),DATEADD(MONTH,-7,GETDATE()),120),23 UNION ALL
SELECT 2,CONVERT(CHAR(10),DATEADD(YEAR,-1,GETDATE()),120),65
SELECT * FROM @TMP
想要得到一下的结果:
/*其中ResultDate这个字段是这样得到的:每个SN的Num值朝前取,直到数值达到100的那天的日期
SN EndDate Num ResultDate
1 2009-03-19 00:00:00.000 22.0000 2009-03-04
1 2009-03-18 00:00:00.000 1.0000 2009-02-21
1 2009-03-17 00:00:00.000 0.1000 2009-02-21
1 2009-03-13 00:00:00.000 20.0000 2009-02-21
1 2009-03-05 00:00:00.000 50.0000 2009-02-21
1 2009-03-04 00:00:00.000 25.0000 2008-12-19
1 2009-02-21 00:00:00.000 48.0000 NULL
1 2009-02-10 00:00:00.000 12.0000 NULL
1 2008-12-19 00:00:00.000 36.0000 NULL
2 2009-03-18 00:00:00.000 36.0000 2009-03-05
2 2009-03-17 00:00:00.000 12.0000 2009-02-22
2 2009-03-16 00:00:00.000 22.2300 2009-02-11
2 2009-03-05 00:00:00.000 45.0000 2008-08-19
2 2009-02-22 00:00:00.000 22.6500 2008-03-19
2 2009-02-11 00:00:00.000 12.0000 2008-03-19
2 2008-08-19 00:00:00.000 23.0000 NULL
2 2008-03-19 00:00:00.000 65.0000 NULL*/
不知道我有没有描述清楚?麻烦了!
我这里模拟了一个表:(实际库中的这个表的数据很大,有上百万条的数据)
DECLARE @TMP TABLE(SN INT ,EndDate DATETIME,Num DECIMAL(18,2) )
INSERT INTO @TMP
SELECT 1,CONVERT(CHAR(10),GETDATE(),120),22 UNION ALL
SELECT 1,CONVERT(CHAR(10),DATEADD(DAY,-1,GETDATE()),120),1 UNION ALL
SELECT 1,CONVERT(CHAR(10),DATEADD(DAY,-2,GETDATE()),120),0.1 UNION ALL
SELECT 1,CONVERT(CHAR(10),DATEADD(DAY,-6,GETDATE()),120),20 UNION ALL
SELECT 1,CONVERT(CHAR(10),DATEADD(DAY,-14,GETDATE()),120),50 UNION ALL
SELECT 1,CONVERT(CHAR(10),DATEADD(DAY,-15,GETDATE()),120),25 UNION ALL
SELECT 1,CONVERT(CHAR(10),DATEADD(DAY,-26,GETDATE()),120),48 UNION ALL
SELECT 1,CONVERT(CHAR(10),DATEADD(DAY,-37,GETDATE()),120),12 UNION ALL
SELECT 1,CONVERT(CHAR(10),DATEADD(MONTH,-3,GETDATE()),120),36 UNION ALL
SELECT 2,CONVERT(CHAR(10),DATEADD(DAY,-1,GETDATE()),120),36 UNION ALL
SELECT 2,CONVERT(CHAR(10),DATEADD(DAY,-2,GETDATE()),120),12 UNION ALL
SELECT 2,CONVERT(CHAR(10),DATEADD(DAY,-3,GETDATE()),120),22.23 UNION ALL
SELECT 2,CONVERT(CHAR(10),DATEADD(DAY,-14,GETDATE()),120),45 UNION ALL
SELECT 2,CONVERT(CHAR(10),DATEADD(DAY,-25,GETDATE()),120),22.65 UNION ALL
SELECT 2,CONVERT(CHAR(10),DATEADD(DAY,-36,GETDATE()),120),12 UNION ALL
SELECT 2,CONVERT(CHAR(10),DATEADD(MONTH,-7,GETDATE()),120),23 UNION ALL
SELECT 2,CONVERT(CHAR(10),DATEADD(YEAR,-1,GETDATE()),120),65
SELECT * FROM @TMP
想要得到一下的结果:
/*其中ResultDate这个字段是这样得到的:每个SN的Num值朝前取,直到数值达到100的那天的日期
SN EndDate Num ResultDate
1 2009-03-19 00:00:00.000 22.0000 2009-03-04
1 2009-03-18 00:00:00.000 1.0000 2009-02-21
1 2009-03-17 00:00:00.000 0.1000 2009-02-21
1 2009-03-13 00:00:00.000 20.0000 2009-02-21
1 2009-03-05 00:00:00.000 50.0000 2009-02-21
1 2009-03-04 00:00:00.000 25.0000 2008-12-19
1 2009-02-21 00:00:00.000 48.0000 NULL
1 2009-02-10 00:00:00.000 12.0000 NULL
1 2008-12-19 00:00:00.000 36.0000 NULL
2 2009-03-18 00:00:00.000 36.0000 2009-03-05
2 2009-03-17 00:00:00.000 12.0000 2009-02-22
2 2009-03-16 00:00:00.000 22.2300 2009-02-11
2 2009-03-05 00:00:00.000 45.0000 2008-08-19
2 2009-02-22 00:00:00.000 22.6500 2008-03-19
2 2009-02-11 00:00:00.000 12.0000 2008-03-19
2 2008-08-19 00:00:00.000 23.0000 NULL
2 2008-03-19 00:00:00.000 65.0000 NULL*/
不知道我有没有描述清楚?麻烦了!
...全文
相关推荐
java画乌龟
例如,按下上、下、左、右箭头键可以让乌龟移动,而点击鼠标可能让乌龟翻身。
ROS控制小乌龟程序
在这个名为“ROS控制小乌龟程序”的项目中,我们将探讨如何利用ROS的核心概念,如节点、消息和服务,来编写一个控制小乌龟(turtle)在仿真环境中画圆和矩形的程序。
小乌龟svn代码管理
小乌龟SVN的安装与配置**- 下载并安装小乌龟SVN,选择适合操作系统的版本。- 配置SVN服务器连接信息,包括URL、用户名和密码。
Git小乌龟安装包
在实际使用中,Git和小乌龟的组合特别适合初学者和不熟悉命令行的用户,因为小乌龟提供了直观的图形界面,减少了学习曲线。
Java实现乌龟爬行
在"乌龟爬行"项目中,你可以创建一个`Turtle`类,包含表示乌龟位置的属性(如x坐标和y坐标)和控制乌龟移动的方法。2.


