MySQL计算分钟使用TIMEDIFF()

时间:2015-12-02 14:51:46

标签: mysql

我正在尝试根据时间戳时间的差异来计算学生在课堂上的总时间。

这是我正在使用的表格......

CREATE TABLE Students(
  studentID varchar(255), 
  firstName varchar(255), 
  lastName varchar(255), 
  updated_at TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, 
  total_time INTEGER DEFAULT NULL
);

ex。)上午9:39的学生记录更新到上午9:40。这里的差异是1分钟...所以1加到学生的total_time。

我目前拥有的sql语句是......

UPDATE Students SET total_time = TIMEDIFF(CURTIME(), updated_at); 

但是,如果我是正确的话,TIMEDIFF会返回一个时间变量...如何将其变为分钟?也是......即使正确的铸造到分钟,这还能工作吗?由于用于updated_at列的“ON UPDATE”方法,我认为时间戳只是更新,然后计算的差异将始终为0,因为两者将是相同的。

更新:至关重要的是,提及这些记录可能会每分钟更新一次。

1 个答案:

答案 0 :(得分:1)

尝试此查询 得到分钟使用这个:

  

更新学生SET total_time = TIMEDIFF(NOW(),updated_at)/ 60;

获得秒数:

UPDATE Students SET total_time = TIMEDIFF(NOW(), updated_at)/1;