【问题标题】:Mysql, timestamp and find extreme valuesMysql,时间戳和查找极值
【发布时间】:2015-09-23 14:13:46
【问题描述】:

在mysql中是否可以找到极值 我有包含列(时间戳、值)的表,我必须检测值何时开始增加和减少并注意该值。

即使用此数据

2015-05-14 04:40:00, 1000
2015-05-14 05:20:00, 2000
2015-05-14 08:00:00, 2500
2015-05-14 08:20:00, 500
2015-05-14 09:10:00, 700
2015-05-14 10:20:00, 700
2015-05-14 11:40:00, 1300
2015-05-14 12:10:00, 1800
2015-05-14 12:40:00, 2700
2015-05-14 13:20:00, 3500
2015-05-14 14:10:00, 500
2015-05-14 14:30:00, 700
2015-05-14 14:50:00, 1000

我需要找到 2015-05-14 08:00:00, 2500 作为 max 和

2015-05-14 08:20:00, 500 as min and second point
2015-05-14 13:20:00, 3500 as max
2015-05-14 14:10:00, 500 as min

我只想找到极值,所以我只需要找到上升沿和下降沿。

数据以这种方式表示http://fastwork.pl/karol/wykres_extrema.png

【问题讨论】:

    标签: mysql timestamp max min points


    【解决方案1】:

    您可以简单地使用MINMAX

    SELECT *
    FROM yourTable
    WHERE value = (SELECT MIN(value)
                   FROM yourTable);
    

    对于MAX 也是一样的。

    【讨论】:

      【解决方案2】:

      不是完整的答案。 但是对于仅选择增长的值,您可以使用:

      SELECT t2.val
      FROM `test` t1
      JOIN `test` t2 ON ( t1.id = t2.id -1
      AND t1.val < t2.val ) 
      

      您需要添加 id 主自增字段

      现在您需要在这些数据中找到漏洞 https://www.google.com/search?q=mysql+holes

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-06
        • 1970-01-01
        相关资源
        最近更新 更多