Объясняю GROUP BY так, как еще никто НЕ объяснял
На примере токена SFP
Рассмотрим простой запрос
который нам покажет два столбца
- месяц (в котором совершена транзакция)
- количество токенов
В итоге имеем более 5,5 миллионов строк! Сложно представить по сколько транзакций в месяц, и сколько вообще месяцев.
Для этого создатели языка и придумали GROUP BY.
Сейчас у нас данные имеют вид таблицы: два столбца и > 5,5 млн строк. Проще понять группировку, если мы представим, что разрезаем ножницами эту таблицу горизонтально на строки. Представили?
Теперь представьте, как перед вами на столе лежат > 5,5 млн бумажек с двумя ячейками block_month и amount?
Так вот, если мы разложим все эти бумажки стопочками по месяцам - это и будет группировка!
НО ЕСТЬ НО! Представьте, что вы смотрите на все эти стопочки на столе: вот лежит месяц 2026-01-01 (то есть январь 2026), тут 2025-06-01 (то есть июнь 2025) и т.д. Если мы посмотрим на ячейки с месяцами мы понимаем что в одной стопочке месяц одинаковый, а в ячейках с количеством то они разные! Там может быть абсолютно любое количество от 0,00001 до 600000 тыс и бывают и больше. И что же нам с этими цифрами в столбике делать?
Можно посчитать сумму? Можно! Это называется агрегация. Сейчас мы это сделаем, а потом визуализируем с помощью графика прямо в Dune.
Так будет выглядеть запрос с GROUP BY
Запустив запрос в Dune, получаем месяца и сумму токенов в этих месяцах.
Обратите внимание на название столбца с количеством - теперь это уже не количество, теперь это сумма в месяц, поэтому система автоматически присваивает ей новое название - по умолчанию такое (_col1), но мы можем переименовать написать вот так например
Теперь посмотрим наглядно на значения по месяцам. Справа над результатами запроса New --> Bar chart
График токена SFP на BNB готов! Адрес в запросах сокращен для удобочитаемости.
Полный адрес токена 0xd41fdb03ba84762dd66a0af1a6c8540ff1ba5dfb.
Если хотите обратно вернуться к табличному результату запроса --> нажмите Query results