簡體   English   中英

SQL 服務器:獲取同一表的日期值之間的實際最小值

[英]SQL Server : get real min between date values of same table

我有下表,每分鍾存儲 gps 個移動點。

CREATE TABLE [POINTS]
(
    [ID_POINTS] [bigint] IDENTITY(1,1) NOT NULL,
    [Latitude] [float] NULL,
    [Longitude] [float] NULL,
    [PointDate] [datetime2](7) NULL,
    [Activity] [nvarchar](100) NULL,
    [ID_WORKER] [int] NULL,
    [ID_DEVICE] [int] NULL, 
    [Control] [nvarchar](10) NULL,

    CONSTRAINT [PK_POINTS] 
        PRIMARY KEY CLUSTERED ([ID_POINTS] ASC)
                WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,  
                      IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, 
                      ALLOW_PAGE_LOCKS = ON)
)

查看顯示以下列的示例數據: id_workeractivitypointdate

1   DRAWING 2021-07-31 11:59:38.7510000
1   DRAWING 2021-07-31 14:29:01.5680000
1   DRAWING 2021-07-31 14:30:06.1930000
1   DRAWING 2021-07-31 14:31:07.1960000
1   DRAWING 2021-07-31 14:32:13.1960000
1   DRAWING 2021-07-31 14:33:19.1930000
1   DRAWING 2021-07-31 14:34:21.1800000
1   DRAWING 2021-07-31 14:35:23.1720000
1   DRAWING 2021-07-31 14:36:24.1730000
1   DRAWING 2021-07-31 14:37:24.2190000
1   DRAWING 2021-07-31 14:38:29.1790000
1   DRAWING 2021-07-31 14:39:31.1720000
1   DRAWING 2021-07-31 14:40:34.1620000
1   DRAWING 2021-07-31 14:53:11.1670000
1   DRAWING 2021-07-31 14:54:12.2140000
1   DRAWING 2021-07-31 14:55:12.2140000
1   DRAWING 2021-07-31 14:56:14.1710000
1   DRAWING 2021-07-31 14:57:18.2150000
1   DRAWING 2021-07-31 14:58:24.1740000
1   DRAWING 2021-07-31 14:59:29.1970000
1   DRAWING 2021-07-31 15:00:31.1780000
1   DRAWING 2021-07-31 15:01:36.2190000
1   DRAWING 2021-07-31 15:02:36.2240000
1   DRAWING 2021-07-31 15:03:42.2000000
1   DRAWING 2021-07-31 15:04:46.1840000
1   DRAWING 2021-07-31 15:05:50.1640000
1   DRAWING 2021-07-31 15:06:54.2090000
1   DRAWING 2021-07-31 15:07:54.2380000
1   DRAWING 2021-07-31 15:08:54.2380000
1   DRAWING 2021-07-31 15:10:00.1910000
1   DRAWING 2021-07-31 15:11:02.1810000
1   DRAWING 2021-07-31 15:12:06.2220000
1   DRAWING 2021-07-31 15:13:12.2100000
1   DRAWING 2021-07-31 15:14:12.2180000
1   DRAWING 2021-07-31 15:15:18.2160000
1   DRAWING 2021-07-31 15:16:18.2180000
1   DRAWING 2021-07-31 15:17:18.2180000
1   DRAWING 2021-07-31 15:18:18.2220000
1   DRAWING 2021-07-31 15:19:18.2220000
1   DRAWING 2021-07-31 15:20:24.2120000
1   DRAWING 2021-07-31 15:21:30.2240000
1   DRAWING 2021-07-31 15:22:36.2140000
1   DRAWING 2021-07-31 15:23:42.2180000
1   DRAWING 2021-07-31 15:24:48.2150000
1   DRAWING 2021-07-31 15:25:54.1810000
1   DRAWING 2021-07-31 15:26:54.2140000
1   DRAWING 2021-07-31 15:27:54.2360000
1   DRAWING 2021-07-31 15:29:00.2350000
1   DRAWING 2021-07-31 15:30:06.2200000

我需要得到總分鍾數,不包括從 10:00 到 10:30 和 14:00 到 15:00 的午餐時間

期望的結果必須是 2 小時 30 分鍾

使用 SQL 服務器的 LEAD function,我可以訪問下一行以根據所有行的 PointDate 字段計算持續時間

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM