1.创建测试表

IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[testA]') AND type IN ('U'))DROP TABLE [dbo].[testA]
GOCREATE TABLE [dbo].[testA] ([id] int  NOT NULL,[code] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,[name] varchar(255) COLLATE Chinese_PRC_CI_AS  NULL,[tm] datetime  NULL,[valueN] int  NULL
)
GOALTER TABLE [dbo].[testA] SET (LOCK_ESCALATION = TABLE)
GO-- ----------------------------
-- Records of [testA]
-- ----------------------------
INSERT INTO [dbo].[testA]  VALUES (N'1', N'001', N'张三', N'2021-03-10 16:18:33.000', N'10')
GOINSERT INTO [dbo].[testA]  VALUES (N'2', N'001', N'张三', N'2021-03-09 16:18:33.000', N'9')
GOINSERT INTO [dbo].[testA]  VALUES (N'3', N'001', N'张三', N'2021-03-08 16:18:33.000', N'8')
GOINSERT INTO [dbo].[testA]  VALUES (N'4', N'001', N'张三', N'2021-03-07 16:18:33.000', N'7')
GOINSERT INTO [dbo].[testA]  VALUES (N'5', N'001', N'张三', N'2021-03-06 16:18:33.000', N'6')
GOINSERT INTO [dbo].[testA]  VALUES (N'6', N'001', N'张三', N'2021-03-05 16:18:33.000', N'5')
GOINSERT INTO [dbo].[testA]  VALUES (N'7', N'001', N'张三', N'2021-03-04 16:18:33.000', N'4')
GOINSERT INTO [dbo].[testA]  VALUES (N'8', N'001', N'张三', N'2021-03-03 16:18:33.000', N'3')
GOINSERT INTO [dbo].[testA]  VALUES (N'9', N'001', N'张三', N'2021-03-02 16:18:33.000', N'2')
GOINSERT INTO [dbo].[testA]  VALUES (N'10', N'001', N'张三', N'2021-03-01 16:18:33.000', N'7')
GOINSERT INTO [dbo].[testA]  VALUES (N'11', N'001', N'张三', N'2021-03-01 08:00:00.000', N'0')
GOINSERT INTO [dbo].[testA]  VALUES (N'12', N'002', N'李四', N'2021-03-10 08:00:33.000', N'9')
GOINSERT INTO [dbo].[testA]  VALUES (N'13', N'002', N'李四', N'2021-03-09 08:00:33.000', N'99')
GOINSERT INTO [dbo].[testA]  VALUES (N'14', N'002', N'李四', N'2021-03-08 08:00:33.000', N'88')
GOINSERT INTO [dbo].[testA]  VALUES (N'15', N'002', N'李四', N'2021-03-05 08:00:33.000', N'9')
GOINSERT INTO [dbo].[testA]  VALUES (N'16', N'002', N'李四', N'2021-03-01 08:18:33.000', N'9')
GOINSERT INTO [dbo].[testA]  VALUES (N'17', N'003', N'王五', N'2021-03-10 16:18:33.000', N'100')
GOINSERT INTO [dbo].[testA]  VALUES (N'18', N'003', N'王五', N'2021-03-05 16:18:33.000', N'50')
GOINSERT INTO [dbo].[testA]  VALUES (N'19', N'003', N'王五', N'2021-03-01 16:18:33.000', N'60')
GOINSERT INTO [dbo].[testA]  VALUES (N'20', N'003', N'王五', N'2021-03-01 08:00:00.000', NULL)
GO-- ----------------------------
-- Primary Key structure for table testA
-- ----------------------------
ALTER TABLE [dbo].[testA] ADD CONSTRAINT [PK__testA__3213E83FAB649435] PRIMARY KEY CLUSTERED ([id])
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
GO

2.执行SQL,查看执行结果


-- 本条SQL 用于查询每条数据的前后数据值SELECTpreData=(SELECT top 1 tm FROM testA WHERE tm < t1.tm ORDER BY tm desc), -- 上条数据的时间nextData=(SELECT top 1 tm FROM testA WHERE tm > t1.tm ORDER BY tm asc), -- 下条数据的时间t1.tm,-- 本条数据时间t1.code,t1.name,t1.valueN,-- 本条数据值nextvalueN=(SELECT top 1 valueN FROM testA WHERE tm > t1.tm ORDER BY tm asc) -- 下条数据的值
FROM testA t1
WHERE t1.tm>'2021-03-01 08:00' and '2021-03-10 08:00' > t1.tm
GROUP BY t1.code,t1.name,t1.tm,t1.valueN

3.完成

SQL server查询本条数据的下一条数据,上一条数据,及其对应的值,SQL语句示例。相关推荐

  1. SQL Server查询存储–概述

    The SQL Server Query Store is a relatively new feature introduced in SQL Server 2016. It is basicall ...

  2. SQL Server查询所有数据库下模式schema

    SQL Server查询所有数据库下模式名 需求描述 找到SQL Server里所有数据库下的schema.输出格式为数据库名.模式名. 背景补充 关于SQL Server需要简单介绍下,从数据库对象 ...

  3. Sql Server查询包含nbsp/乱码/空格符无法查出数据

    Sql Server查询包含乱码/空格符无法查出数据 今天开发遇到了一个离谱的问题,在接口查sqlserver时,有一部分以空格结尾的列查不到,先检查是否是参数有问题: 在接收ajax的参数时,出现了 ...

  4. SQL Server查询本周、本年所有天数数据

    sql server 查询本周.本月所有天数的数据 查询本月所有的天数: --本月所有的天数 select convert(varchar(10),dateadd(DAY,t2.number,t1.d ...

  5. sql查询oracle数据,sql-server – 从SQL Server查询Oracle数据库

    我有一个Oracle 11g XE数据库,我想将其转移到SQL Server Express 2005中. 起初我以为我只是在Oracle中生成表作为SQL,操纵数据格式,并在SQL Server中运 ...

  6. SQL Server 查询性能优化——覆盖索引(二)

    在SQL Server 查询性能优化--覆盖索引(一)  中讲了覆盖索引的一些理论. 本文将具体讲一下使用不同索引对查询性能的影响. 下面通过实例,来查看不同的索引结构,如聚集索引.非聚集索引.组合索 ...

  7. 如何在SQL Server查询语句(Select)中检索存储过程(Store Procedure)的结果集

    如何在SQL Server查询语句(Select)中检索存储过程(Store Procedure)的结果集?(2006-12-14 09:25:36) 与这个问题具有相同性质的其他描述还包括: 如 ...

  8. Sql Server查询性能优化之走出索引的误区

    据了解绝大多数开发人员对于索引的理解都是一知半解,局限于大多数日常工作没有机会.也什么没有必要去关心.了解索引,实在哪天某个查询太慢了找到查询条件建个索引就ok,哪天又有个查询慢了,再建立个索引就是, ...

  9. sql server 锁与事务拨云见日(下)

    sql server 锁与事务拨云见日(下) 原文:sql server 锁与事务拨云见日(下) 在锁与事务系列里已经写完了上篇中篇,这次写完下篇.这个系列俺自认为是有条不紊的进行,但感觉锁与事务还是 ...

最新文章

  1. Numpy入门教程:11. 时间日期和时间增量
  2. 打开正经图片,你可能会看到一张黄图,这种造假方法能同时骗过AI和人眼
  3. 企业想独立完成网站建设也不是不可以
  4. springboot教程-web(二)
  5. 思科ACL阻止勒索病毒
  6. 【响应式编程的思维艺术】 (5)Angular中Rxjs的应用示例
  7. Python实战从入门到精通第十九讲——自定义字符串的格式化
  8. java test20006_Java单例7种测试实践
  9. 强中更有强中手:遇到CSDN比吾进步还快的博主
  10. EDA技术实用教程 | 复习五 | 端口模式
  11. Objective-C基础之闭包
  12. java读取excrl模板填充数据_java中自定义excel模板并且填充内容
  13. vb冒泡排序法流程图_vb数组排序-冒泡排序法
  14. AI芯片:寒武纪PuDianNao结构分析
  15. 【历史上的今天】9 月 6 日:Facebook 收购 Instagram;华为发布 5G 芯片;惠普并购康柏
  16. PROCAST-重力铸造分析流程
  17. Collection和List,Set,Map的关系与说明
  18. RISC-V要上天!NASA选它做下一代航天计算芯片
  19. 风机变速箱_1.5MW风机变速箱维修成本分析
  20. 高等数学笔记:关于等价无穷小替换的一个猜想

热门文章

  1. 汽车管理程序(数据结构课程练习)
  2. MySQL知识梳理总结
  3. 【Linux学习】进程概念(上)
  4. 优思学院祝你冬至快乐!
  5. 张甜甜:在实践中迈进数据科学领域 | 优秀毕业生专访
  6. python计算均方根误差_scikit学习:如何计算均方根误差(RMSE)的百分比?
  7. 如何将XP升级到win7
  8. TypeScript中的感叹号
  9. Debug命令的使用详细教程
  10. 谁在synopsys vdk里搭建过基于cortex-a55和cortex-a76的平台,并在上面成功跑过linux?