MySQL - Как СУММИРОВАТЬ времена?

Я использовал бы подмодули (в качестве Pat Notz) или два отличных репозитория. Если бы Вы изменяете свои двоичные файлы слишком часто, то я попытался бы минимизировать влияние огромного репозитория, чистя историю:

у меня была очень похожая проблема несколько месяцев назад: ~21  ГБ файлов MP3, несекретных (плохие имена, плохой id3, не знают, нравится ли мне этот файл MP3 или не...), и копируемый на трех компьютерах.

я использовал диск внешнего жесткого диска с основным репозиторием Мерзавца, и я клонировал его в каждый компьютер. Затем я начал классифицировать их обычным способом (продвижение, получение по запросу, слияние... удалив и переименовывая много раз).

В конце, я имел только ~6  ГБ файлов MP3 и ~83  ГБ в .git каталоге. Я использовал git-write-tree и git-commit-tree для создания новой фиксации, без предков фиксации, и запустил новое ответвление, указывающее на ту фиксацию. "Журнал мерзавца" для того ответвления только показал одну фиксацию.

Затем я удалил старое ответвление, сохраненное только новое ответвление, удалил повторно пороть и выполнил "чернослив мерзавца": после этого мои .git папки взвесили только ~6  ГБ...

Вы могли "произвести чистку" огромного репозитория время от времени таким же образом: Ваш "клон мерзавца" будет быстрее.

8
задан John M 25 August 2009 в 16:37
поделиться

5 ответов

Попробуйте посмотреть UNIX_TIMESTAMP и SEC_TO_TIME .

Вы суммируете различия между отметками времени, а затем используете это значение (в миллисекундах), чтобы получить время:

SELECT SEC_TO_TIME(time_milis / 1000)
FROM (
   SELECT SUM(UNIX_TIMESTAMP(date1) - UNIX_TIMESTAMP(date2)) as time_milis
   FROM table
)
4
ответ дан 5 December 2019 в 04:32
поделиться
SELECT some_grouping_column, SUM(TIMEDIFF(datecol1,datecol2)) as tot_time
FROM my_table
GROUP BY some_grouping_column;
1
ответ дан 5 December 2019 в 04:32
поделиться

Используйте TIMEDIFF () .

SUM(TIMEDIFF(end, start))
0
ответ дан 5 December 2019 в 04:32
поделиться

Check out the MySQL DateDiff Function

SELECT SUM(DATEDIFF(endtime, starttime)) 
FROM somerecordstable
WHERE starttime > '[some date]' AND endtime <= '[some date]'

You could also try:

SELECT SUM(TIMEDIFF(endtime, starttime)) 
FROM somerecordstable
WHERE starttime > '[some date]' AND endtime <= '[some date]'

I haven't tested the second one, but I know the first one should work.

6
ответ дан 5 December 2019 в 04:32
поделиться

Я думаю, вам нужно использовать этот код ... он работает :)

SELECT  
  SEC_TO_TIME( SUM( TIME_TO_SEC( `time` ) ) ) AS total_time  
FROM time_table;
43
ответ дан 5 December 2019 в 04:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: