У меня есть такая таблица:
И в этой таблице вы можете увидеть последний столбец totalloginFinal, я хочу сделать сумму за все время, это будет около 84 часов,
Я пытаюсь использовать функции addtime и sum, но не получаю должного результата.
Заранее большое спасибо.
2 ответа
Попробуйте этот вариант -
SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(totalloginFinal))) FROM table_name;
Из справки - Агрегатные функции SUM () и AVG () не работают с временными значениями. (Они преобразуют значения в числа, при этом часть после первого нечислового символа теряется.) Чтобы обойти эту проблему, вы можете преобразовать в числовые единицы, выполнить агрегатную операцию и преобразовать обратно во временное значение.
GROUP BY (агрегированные) функции.
Попробуйте преобразовать его в секунду а затем суммируйте секунды и преобразуйте их обратно из секунды в время
Любить :
SELECT SEC_TO_TIME(SUM(SECOND(totalloginFinal))) as Total from mytable
Похожие вопросы
Новые вопросы
mysql
MySQL - это бесплатная система управления реляционными базами данных с открытым исходным кодом (RDBMS), использующая язык структурированных запросов (SQL). НЕ ИСПОЛЬЗУЙТЕ этот тег для других БД, таких как SQL Server, SQLite и т. Д. Это разные БД, которые все используют свои собственные диалекты SQL для управления данными.