繁体   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