这个sql怎么写,菜鸟勿喷..求大牛带..

subbao 2017-08-28 04:19:04
...全文
428 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
繁花尽流年 2017-09-14
  • 打赏
  • 举报
回复
上个卷子好像之前有过一模一样的,LZ可以找找历史
u010133107 2017-09-14
  • 打赏
  • 举报
回复
用lag函数 或者lead函数.
二月十六 版主 2017-08-28
  • 打赏
  • 举报
回复
是mssql还是mysql?
繁花尽流年 2017-08-28
  • 打赏
  • 举报
回复
IF NOT OBJECT_ID(N'Tempdb..#tmp_1') IS NULL  DROP TABLE #tmp_1
CREATE TABLE #tmp_1([time] BIGINT,energy INT)
INSERT INTO #tmp_1
SELECT '1451577600','1000' UNION ALL
SELECT '1451577660','1010' UNION ALL
SELECT '1451581200','1050' UNION ALL
SELECT '1451584800','1080' UNION ALL
SELECT '1451588400','1200' UNION ALL
SELECT '1451592000','1400' 
    
    
SELECT [time] ,lead(energy,1,NULL) OVER(ORDER BY [time])-energy AS energy
FROM (
SELECT CONVERT(CHAR(23),DATEADD(hh,8,DATEADD(s,[time],'19700101')),121) AS [time1],[time],energy 
	,ROW_NUMBER() OVER (PARTITION BY DATEPART(hh,DATEADD(hh,8,DATEADD(s,[time],'19700101'))) ORDER BY CONVERT(CHAR(23),DATEADD(hh,8,DATEADD(s,[time],'19700101')),121)) AS rno
FROM #tmp_1
) a
WHERE a.rno=1
time energy -------------------- ----------- 1451577600 50 1451581200 30 1451584800 120 1451588400 200 1451592000 NULL

34,575

社区成员

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

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