Я пытаюсь выяснить, какой формат является правильным при использовании функции суммы с делением:
Какой из них правильный?
sum(filesize/1024)
или
sum(filesize)/1024
Столбец размера файла - это измерение в килобайтах, которое я конвертирую в мегабайты.
Они имеют в виду разные вещи. sum(filesize/1024) уменьшает размер файла до мегабайт, а затем суммирует мегабайты. Для каждого файла это «забывает» размер, превышающий границу мегабайта, поэтому он будет занижать общий размер файла.
sum(filesize)/1024 сообщит правильный размер в мегабайтах - округлено в меньшую сторону.
Лично я бы выбрал вариант № 2 (при условии, что число не настолько велико, у вас возникнут проблемы переполнения).Таким образом, числа остаются максимально точными, пока они не будут переданы пользователю.
По логике оба должны давать одинаковый результат. Однако сумма (размер файла) / 1024 , вероятно, будет быстрее. Если вы выберете другой вариант, вы будете выполнять операцию деления для каждого результата, вместо того, чтобы делать это один раз.
Я почти уверен, что первый из них правильный - sum (filesize / 1024), но вы должны убедиться, что размер файла никогда не равен 0, иначе ваш запрос выдаст ошибку.
Используйте для этого декодирование на oracle или на сервере SQL.