代码之家  ›  专栏  ›  技术社区  ›  Maestro1024

在SQL中按时差获取值

sql
  •  1
  • Maestro1024  · 技术社区  · 14 年前

    我想得到一个时间范围内两个值的差。

    数据表

    TimeStamp        DataValue
    2010-06-01        21
    2010-06-03        33
    2010-06-05        44
    

    所以我想首先得到上个月的所有数据,我可以用这样的方法。

    ([TimeStamp] < GETDATE()-0 and ([TimeStamp] > GETDATE()-31)
    

    但我想看看这一个月增加了多少价值。所以它从21开始到44,所以我希望这个例子返回23(如44-21)。

    如何构建这样的查询?

    1 回复  |  直到 14 年前
        1
  •  1
  •   CoreyD    14 年前

    我知道这在MySQL中是有效的。我不能保证其他数据库。

    SELECT MAX(DataValue) - MIN(DataValue) FROM TABLE
    WHERE ([TimeStamp] < GETDATE()-0
    AND ([TimeStamp] > GETDATE()-31)