求教:Sql如何数据库求相邻两行的差值?

zczhi_121 2014-09-17 11:30:24
现有表table
----------------------------------------------------------
年 月 日 气温
2009 1 1 6.8
2009 1 2 6.1
2009 1 3 5.6
2009 1 4 4.7
2009 1 5 4
2009 1 6 3
2009 1 7 4.5
2009 1 8 8.9
2009 1 9 11.2
2009 1 10 8.7
---------------------------------------------------------
通过运算求相邻两列行中“气温”的差值,即得到以下表:
----------------------------------------------------------
年 月 日 气温 与昨日温差
2009 1 1 6.8
2009 1 2 6.1 -0.7
2009 1 3 5.6 -0.5
2009 1 4 4.7 -0.9
2009 1 5 4 -0.7
2009 1 6 3 -1
2009 1 7 4.5 1.5
2009 1 8 8.9 4.4
2009 1 9 11.2 2.3
2009 1 10 8.7 -2.5
---------------------------------------------------------
请问该如何实现?最好能附代码,谢谢
...全文
1776 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zczhi_121 2014-09-18
  • 打赏
  • 举报
回复
楼上正解,谢谢!结贴给分!
Tiger_Zhao 2014-09-17
  • 打赏
  • 举报
回复
WITH test (年,月,日,气温) AS (
SELECT 2009,1,1,6.8 UNION ALL
SELECT 2009,1,2,6.1 UNION ALL
SELECT 2009,1,3,5.6 UNION ALL
SELECT 2009,1,4,4.7 UNION ALL
SELECT 2009,1,5,4 UNION ALL
SELECT 2009,1,6,3 UNION ALL
SELECT 2009,1,7,4.5 UNION ALL
SELECT 2009,1,8,8.9 UNION ALL
SELECT 2009,1,9,11.2 UNION ALL
SELECT 2009,1,10,8.7
)
SELECT t1.*,
t1.气温 - t0.气温 与昨日温差
FROM test t1
LEFT JOIN test t0
ON DATEDIFF(day,
DateAdd(day,t0.日-1,DateAdd(month,t0.月-1,DateAdd(year,t0.年-1900,'1900-01-01'))),
DateAdd(day,t1.日-1,DateAdd(month,t1.月-1,DateAdd(year,t1.年-1900,'1900-01-01')))
) = 1

         年          月          日       气温 与昨日温差
----------- ----------- ----------- ---------- ----------
2009 1 1 6.8 NULL
2009 1 2 6.1 -0.7
2009 1 3 5.6 -0.5
2009 1 4 4.7 -0.9
2009 1 5 4.0 -0.7
2009 1 6 3.0 -1.0
2009 1 7 4.5 1.5
2009 1 8 8.9 4.4
2009 1 9 11.2 2.3
2009 1 10 8.7 -2.5
--小F-- 2014-09-17
  • 打赏
  • 举报
回复
select
   a.*,b.气温-a.气温 as 与昨日温差
from
   (select *,row_number()over(order by getdate()) as id,* from tb) as a
inner join
   (select *,row_number()over(order by getdate()) as id,* from tb) as b
on
   a.id=b.id-1
--TRY
【9种优化算法比较】CGO、SCA、GWO、CSA、SSA、HHO、WOA、PSO、TSO智能优化算法比较(Matlab代码实现)内容概要:本文档主要介绍了9种智能优化算法(CGO、SCA、GWO、CSA、SSA、HHO、WOA、PSO、TSO)的性能比较,并提供了相应的Matlab代码实现。文档展示了这些算法在解决高维多目标优化、路径规划、电力系统调度、微电网优化、无人机航迹规划等复杂工程问题中的应用实例。通过多个实际案例,如基于NMOPSO的无人机三维路径规划、改进粒子群算法的配电网故障恢复、多目标优化调度等,体现了各类智能算法在不同场景下的优化能力与适用性。此外,文档还涵盖大量与优化算法结合使用的仿真模型和技术,包括神经网络、模型预测控制、卡尔曼滤波等,突出了Matlab在科研仿真中的核心工具地位。; 适合人群:具备一定编程基础,熟悉Matlab语言,从事智能优化、自动化控制、电力系统、路径规划或相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①比较不同智能优化算法在复杂优化问题中的收敛速度、精度与稳定性;②学习如何将优化算法应用于路径规划、能源调度、电力系统等实际工程问题;③获取可复现的Matlab代码资源,支撑科研论文复现与项目开发; 阅读建议:建议结合文档中提供的Matlab代码与具体应用场景进行实践,重点关注算法参数设置、适应度函数设计及结果可视化部分,以深入理解算法机制与优化流程。同时可参考文中提及的EI、SCI论文复现案例,提升科研创新能力。

34,874

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧