我的表格包含以下列 -
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,而不使用循环。