zoukankan      html  css  js  c++  java
  • [MSSQL]找出一天数据中从第一条数据开始每累加1小时的数据

    用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
    
  • 相关阅读:
    清华大学2015年自主招生暨领军计划试题
    高斯取整函数专题
    国际上的数学比赛
    清华大学数学系本科用什么教材?
    数学人眼中的湖北
    北京十一学校潘国双:激发学习的内在动力
    数学家Erdos的故事
    CentOS7关于网络的设置
    MySQL表连接
    MySQL的sql解析
  • 原文地址:https://www.cnblogs.com/VAllen/p/find-one-hour-on-oneday-of-mssql.html
Copyright © 2011-2022 走看看