簡體   English   中英

從多個行中獲取日期中的最小和最大時間

[英]Get min and max time from date from multiple rows

我的這張桌子有以下數據。

Uid    date   time
1 2019-07-17   09:00:09
1 2019-07-17  17:30:32
1 2019-07-18   09:30:00
1 2019-07-19   09:14:23
1 2019-07-19   13:14;56
1 2019-07-19   17:34:22

我想讓這些成為關注者

1 2019-07-17 09:00:09 17:30:32
1 2019-07-18 09:30:00
1 2019-07-19 09:14:23 17:34:22

我不擅長SQL,因此需要社區的幫助。 謝謝

您可以先按ID分組,然后按日期分組以獲得所有唯一記錄,以實現此目的。 然后,在select語句中檢索最小和最大時間值。

SELECT uid, date, min(time), max(time)
FROM your_table
GROUP BY uid, date

您可以使用min()max()並通過檢查min()和max()不相等進行分組

select uid, date,  min(time) min_time
    , case when min(time) = max(time) then null else max(time) end  max_time
from my_table  
group by  uid, date 

這基本上是聚合。 一種方便的方法是使用nullif()

select uid, date, min(time), nullif(max(time), min(time))
from t
group by uid, date

暫無
暫無

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

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