【发布时间】:2016-01-29 01:34:37
【问题描述】:
我有一个包含以下列的表格 -
Id end_time status
12 1407477033 success
13 1407479820 error
14 1407479974 error
我必须找到所有状态为“错误”并在过去 15 分钟内完成的 id。我正在使用 ruby 与数据库进行交互,因此我的查询变为(表名是 q_lists )。要找到我使用的时差DATEDIFF -
date = QList.find_by_sql("select end_time from q_lists where id = #{a.id}")
diff = QList.find_by_sql("select DATEDIFF(minute, FROM_UNIXTIME(date), CURRENT_TIMESTAMP")
注意:a 是循环变量,我正在迭代每一行。 我收到以下错误 -
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'DATEDIFF'
我该如何解决这个问题。我也可以使用仅使用一个 sql 语句(没有循环迭代)将所有 id 存储在数组中的方式编写查询。
编辑 TIMESTAMPDIFF 解决了这个问题。很抱歉将两个问题合二为一,但有人可以指出在不使用循环的情况下一次性获取所有 id 的正确方法。
【问题讨论】:
-
您在 c# 中在哪里运行这一行?选择 DATEDIFF(分钟, FROM_UNIXTIME(日期), CURRENT_TIMESTAMP)
标签: mysql sql ruby-on-rails ruby