Я пытаюсь рассчитать общее время, в течение которого студент находится в классе, исходя из различий в времени.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 возвращает переменное время, если я правильно ... как я могу включить, что минуты? ТАКЖЕ ... будет ли это работать даже при правильной кастинге до минут? Из-за метода «ON UPDATE», используемого для столбца updated_at, я бы предположил, что временная метка будет просто обновлена, тогда рассчитанная разница всегда будет равна 0, так как они будут одинаковыми.
ОБНОВЛЕНИЕ: Очень важно упомянуть, что эти записи, вероятно, будут обновляться более одного раза в минуту.
проверка MySQL 'timestampdiff' функции, вы можете получить разницу в минутах, часах, секундах и т.д. –
@AbhikChakraborty, которая была очень хорошей идеей. Я не знал об этой функции mysql ... однако он возвращал очень большие числа. Мне придется вернуться и проверить мою реализацию. – Christopher