显示MYSQL中另一个表中最近时间戳的值

时间:2015-10-06 18:14:19

标签: mysql timestamp

所以我有一个名为dash的表格,其中有两列:valuedate。 我有一个名为timestamp的{​​{1}}变量。

localtimelocaltime都是date格式。 我需要在yyyy-mm-dd hh-mm上找到最接近的时间戳,并返回dash

现在我所做的并不起作用。

value

更新: 这个似乎工作,order_date> locatime非常重要,否则它会寻找最小的负数

def convValueChecking(cursor, localtime):
        cursor.execute("SELECT Value, MIN(TIMESTAMPDIFF(MINUTE, DATE, %s)) FROM dash", (localtime))

        value = cursor.fetchall()

1 个答案:

答案 0 :(得分:1)

尝试用以下代码替换SQL字符串:

SELECT 
  value 
FROM 
  dash
WHERE
  TIMEDIFF(Date, %s) IN 
  (
  SELECT
    MIN(TIMEDIFF(Date, %s))
  FROM
    dash
  )

MySQL语法意味着您需要SELECT然后FROM,然后声明WHERE部分。

TIMEDIFF计算出两个时间戳之间的差异。 TIMESTAMPDIFF计算出时间戳的两个部分之间的差异(例如,在月,日,秒等之间)。如果您想要最接近的日期,则应使用TIMEDIFF来计算出最小的差异。

NB。单词ValueDate在MySQL中也有特殊属性,因此您可能想要更改列名。

SQLFiddle