我想根據時間戳記時間差異來計算學生在課堂上的總時間。MySQL使用TIMEDIFF計算分鐘()
這裏是我使用的表...
CREATE TABLE Students(
studentID varchar(255),
firstName varchar(255),
lastName varchar(255),
updated_at TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
total_time INTEGER DEFAULT NULL
);
在9:39前)學生記錄更新爲9:40。這裏的差異是1分鐘...所以1被添加到學生total_time。
SQL語句我現在有是...
UPDATE Students SET total_time = TIMEDIFF(CURTIME(), updated_at);
然而,TIMEDIFF返回一個時間變量,如果我是正確的......我怎麼可以反過來說,在幾分鐘?此外......即使在正確的轉場時間到分鐘的情況下,這種方式也能奏效由於用於updated_at列的「ON UPDATE」方法,我會想到時間戳只會被更新,然後計算的差值總是爲0,因爲兩者是相同的。
更新:重要的是要提到這些記錄可能會每分鐘更新一次以上。
檢查MySQL的'timestampdiff'功能,你可以以分鐘,小時,秒等 –
@AbhikChakraborty這是一個非常好的想法的差異。我不知道這個mysql函數...但它返回一些非常大的數字。我將不得不回去查看我的執行情況。 – Christopher