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