[英]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.