【发布时间】:2021-02-26 00:02:35
【问题描述】:
我有一个保存扫描日期时间值的表。我想从扫描的主要部分找到用户的开始和停止扫描时间。问题是用户可能会在大量扫描之前或之后执行一些检查并生成更多扫描。数据可能如下所示。
....
| 2020-04-01 19:48:05 |
| 2020-04-01 19:48:22 |
| 2020-04-01 19:48:23 |
| 2020-04-01 19:48:48 |
| 2020-04-01 19:48:49 |
| 2020-04-01 20:45:33 |
+---------------------+
如果我按日期分组并获取这些值的最小值/最大值,我所用的时间将比实际时间长得多。在高于最大值的情况下,将增加近 1 小时的额外时间,而这并没有真正花费在扫描上。
SELECT date, MIN(datetime), MAX(datetime) FROM table GROUP BY date
可能有 1 次额外的扫描,或者在数据的开头或结尾可能有多次扫描,因此丢弃第一个和最后一个数据点并不是一个真正的选择。
【问题讨论】:
标签: mysql sql max min outliers