Короткий ответ: нет - вы не можете сделать это с помощью одного сканирования.
Чтобы расширить это, есть два препятствия для достижения того, что вы хотите:
1) Сканирование возвращает максимум 1 МБ данных на вызов (см. Раздел per-api limit в docs ), поэтому в общем смысле вам понадобится последовательность вызовов Scan читать все данные из таблицы
2) DynamoDB не поддерживает запросы агрегации, что вы и просили. Это означает, что вы не можете попросить его сгруппировать данные в сегменты для вас, и вы не можете попросить их подсчитать или подсчитать суммы
Итак, вам нужно запустить сканирование без какого-либо фильтра, а затем реализовать группирование и агрегирование в вашем приложении. По сути, это операция сопоставления / уменьшения: сопоставьте элементы, основанные на оценке, в области и уменьшите, используя счетчик для создания гистограмм.