【问题标题】:Subtraction function on SQL DB2SQL DB2 上的减法函数
【发布时间】:2015-11-11 16:32:02
【问题描述】:

我正在尝试根据时间范围计算我的卡车的里程差异。 他们每隔 15 分钟左右就会在我们的数据库中报告一次里程表。 我相信两个主要列将是 Unit_ID、Readingdate、Odometer 这就是我现在的位置。

(SELECT ODOMETER 
FROM ODOHIST O 
WHERE O.UNIT_ID = T1.UNIT_ID
AND READINGDATE < READINGDATE - 21 DAYS 
ORDER BY READINGDATE DESC FETCH FIRST ROW ONLY)
 AS ODOMETER,

【问题讨论】:

  • 因为里程表不会倒车。为什么不计算给定时间范围内给定单位的最大值 - 最小值?
  • 好吧,我想做这样的事情:里程表(当前日期)-里程表(21 天前)
  • 你先生已经解决了我的问题,谢谢你的好人
  • 指定间隔的 SQL 标准是 interval '21' day 而不是 21 days

标签: sql db2


【解决方案1】:

不确定我是否完全遵循或拥有所有信息来解决它,但是这样的事情呢:

(SELECT min(ODOMETER)
FROM ODOHIST O 
WHERE O.UNIT_ID = T1.UNIT_ID AND DATE = READINGDATE - 21)
 AS MIN_ODOMETER,
(SELECT max(ODOMETER)
FROM ODOHIST O 
WHERE O.UNIT_ID = T1.UNIT_ID AND DATE = READINGDATE)
 AS MAX_ODOMETER

然后取两者的差。

【讨论】:

    猜你喜欢
    • 2010-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-20
    • 2021-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多