簡體   English   中英

T-Sql MAX 日期時間

[英]T-Sql MAX Datetime

您好,謝謝大家的幫助。 我正在嘗試根據 ValueCol1 中條目的前 13 個字符的日期時間字段檢索最新值。

Value1Col1  DateTimeCol2
1234567891234   1/1/21 12:00 PM
1234567891234R1 1/1/21 12:01 PM
1234567891234A1 1/1/21 12:02 PM
1234567891235A2 1/1/21 12:00 PM
1234567891235R2 1/1/21 12:01 PM
1234567891235   1/1/21 12:02 PM

使用最大日期 function 時:

Select max(datetimecol2), value1col1 from table1
group by valuecol1

我收到這個 output:

Value1  DateTime
1234567891234R1 1/1/21 12:01 PM
1234567891234A1 1/1/21 12:02 PM
1234567891235A2 1/1/21 12:00 PM
1234567891235R2 1/1/21 12:01 PM

我試過 Max(value1) 但有時 A1 比 R1 更新,結果將返回 R1。 如果需要更多信息,請告訴我。 再次感謝您對此的任何幫助。

嘗試以下,未經測試:

WITH MaxTime
AS
(
SELECT TOP 1
    datetimecol2
FROM table1
ORDER BY
    datetimecol2 DESC
)
SELECT
    *
FROM
    table1 AS T1
    JOIN
    MaxTime AS MT
   ON T1.datetimecol2 = MT.datetimecol2

即按日期排序時獲取最新的值,然后將其連接到原始表以獲取具有最大日期的所有值

下面的查詢獲取表的最大時間

select max(time) from table1 

當您需要其他列值時,您可以使用以下查詢:

select top 1 time,value1 from table1 order by time desc 

獲取所有值的最大時間

select max(time),value1 from table1 group by value1 having count(value1)>0

在此處輸入圖像描述

  select * from
 (select 
   ch13,Value1Col1,row_number() over (partition by ch13 order by DateTimeCol2 desc) rn   
   from (select Left(Value1Col1,13) as ch13,[Value1Col1],[DateTimeCol2]
   FROM [m1].[dbo].[StackO)t)Tg
   where Tg.rn=1

在此處輸入圖像描述

如果你想排除 ch13:

在此處輸入圖像描述

暫無
暫無

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

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