用Sql Server找出一天数据中从第一条数据开始每累加1小时的数据

-- =============================================
-- Author: Allen Cai
-- Create date: 2018-07-20 15:59
-- =============================================
ALTER PROCEDURE PLMS_A_Logistics_Test
AS
BEGIN
DECLARE @i INT; --当前索引行
DECLARE @rowCount INT; --总行数
DECLARE @skipCount INT; --跳过行数
DECLARE @行号 INT;
DECLARE @签收时间 DATETIME;
DECLARE @运单号 NVARCHAR(50);
DECLARE @returnTable TABLE
(
运单号 NVARCHAR(50),
签收时间 DATETIME
);
DECLARE @tmpTable TABLE
(
行号 INT,
唯一序列号 VARCHAR(50),
签收时间 DATETIME,
运单号 NVARCHAR(50)
); INSERT @tmpTable
SELECT r.*
FROM
(
SELECT ROW_NUMBER() OVER (ORDER BY 签收时间) AS 行号,
t.*
FROM [dbo].[A_Logistics_Test] t
WHERE 签收时间 >= '2018-07-19'
AND 签收时间 < '2018-07-20'
) AS r; SELECT @rowCount = COUNT(行号)
FROM @tmpTable; --总行数
PRINT @rowCount; --打印总行数 SET @i = 1;
WHILE @rowCount >= @i
BEGIN
SELECT @行号 = 行号,
@签收时间 = 签收时间,
@运单号 = 运单号
FROM @tmpTable
WHERE 行号 = @i;
INSERT @returnTable
SELECT @运单号,
@签收时间;
SELECT @skipCount = COUNT(行号)
FROM @tmpTable
WHERE 签收时间 >= @签收时间
AND 签收时间 < DATEADD(HOUR, 1, @签收时间); SET @i = @i + @skipCount;
PRINT N'当前索引行' + CONVERT(VARCHAR, @i); --打印索引行
END;
SELECT *
FROM @returnTable;
END;
GO

[MSSQL]找出一天数据中从第一条数据开始每累加1小时的数据的更多相关文章

  1. NLP任务:给定一句话,找出这句话中你想要的关键词,包括起始结束索引

    在实际的nlp实际任务中,你有一大堆的人工标注的关键词,来新的一句话,找出这句话中的关键词,以便你以后使用,那如何来做呢? 1)用到正则的 finditer()方法,返回你匹配的关键词的迭代对象,包含 ...

  2. Java - Collection 高效的找出两个List中的不同元素

    如题:有List<String> list1和List<String> list2,两个集合各有上万个元素,怎样取出两个集合中不同的元素? 方法1:遍历两个集合 public ...

  3. FCC JS基础算法题(5):Return Largest Numbers in Arrays(找出多个数组中的最大数)

    题目描述: 找出多个数组中的最大数右边大数组中包含了4个小数组,分别找到每个小数组中的最大值,然后把它们串联起来,形成一个新数组.提示:你可以用for循环来迭代数组,并通过arr[i]的方式来访问数组 ...

  4. 使用python找出nginx访问日志中访问次数最多的10个ip排序生成网页

    使用python找出nginx访问日志中访问次数最多的10个ip排序生成网页 方法1:linux下使用awk命令 # cat access1.log | awk '{print $1" &q ...

  5. Java Collection - 003 高效的找出两个List中的不同元素

    如题:有List<String> list1和List<String> list2,两个集合各有上万个元素,怎样取出两个集合中不同的元素? 方法1:遍历两个集合 public ...

  6. 找出此产品描述中包含N个关键字的长度最短的子串

    阿里巴巴笔试题:给定一段产品的英文描述,包含M个英文字母,每个英文单词以空格分隔,无其他标点符号:再给定N个英文关键词,请说明思路并变成实现方法. String extractSummary(Stri ...

  7. Class 找出一个整形数组中的元素的最大值

    目的:找出一个整形数组中的元素的最大值   以下,我们用类和对象的方法来做.   #include<iostream> using namespace std; class Array_m ...

  8. [Python3 练习] 010 找出藏在字符串中的“密码”

    题目:找出藏在字符串中的"密码" (1) 描述 1) 题源 1 Python Challenge, level 3 2) 题源 2 小甲鱼老师的 Python 课程,第 20 讲课 ...

  9. linq中分组查询而且获取每个分组中的第一条记录,数据用于分页绑定

    LINQ分组取出第一条数据 Person1: Id=1, Name="Test1" Person2: Id=1, Name="Test1" Person3: I ...

随机推荐

  1. 【git】git命令集合

    [在包含.git目录所在的项目根目录下,打开git Bash] 参考地址:https://www.cnblogs.com/sxdcgaq8080/p/11655170.html =========== ...

  2. LOOP AT GROUP语法练习

    DATA:P_MENGE TYPE EKKO-WKURS. DATA:P_MENGE1 TYPE EKKO-WKURS. SELECT * FROM EKKO INTO TABLE @DATA(LT_ ...

  3. C# SmtpClient 发邮件

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  4. OSI七层模型简述

    一.OSI七层参考模型 开放式系统互联通信参考模型(英语:Open System Interconnection Reference Model,缩写为 OSI),简称为OSI模型(OSI model ...

  5. golang中,slice的几个易混淆点

    slice在golang中是最常用的类型,一般可以把它作为数组使用,但是比数组要高效呀.不过,我感觉这个东西用的不好坑太多了.还是需要了解下他底层的实现 slice的结构定义 type slice s ...

  6. JVM底层原理及调优之笔记一

    JVM底层原理及调优 1.java虚拟机内存模型(JVM内存模型) 1.堆(-Xms -Xmx -Xmn) java堆,也称为GC堆,是JVM中所管理的内存中最大的一块内存区域,是线程共享的,在JVM ...

  7. switch case加范围判断

    switch case是可以加范围判断的,但是语法有少许变化,参数不能写在switch里面,而是写在外面,如: const i = 3; switch (true) { case (i <= 0 ...

  8. 从webkit内核简单看css样式和css规则优先级(权重)

    目录 webkit中样式相关类及类间关系 样式规则匹配 权重(优先级)计算 权重相同时的覆盖原则 webkit中样式相关类及类间关系 资料来源: <webkit技术内幕> 结构相关类: 1 ...

  9. [基础]Deep Learning的基础概念

    目录 DNN CNN DNN VS CNN Example 卷积的好处why convolution? DCNN 卷积核移动的步长 stride 激活函数 active function 通道 cha ...

  10. linux (01) linux基础

    一.了解linux 都有哪些职位 机房运维 负责服务器的上下架 桌面运维 专业修电脑 修打印机 系统管理员 负责liunux操作系统的维护 运维开发  linux +  python  把平时自己手敲 ...