Как быстро создать гистограмму в MySQL

Универсальное решение...

#1 10 апреля 2021 в 09:18
Скорей для разработчиков. Это просто ссылка на оригинальную статью 11 года:
blog.shlomoid.com/2011/08/how-to-quickly-create-histogram-in.html

Где автор пишет:


Это сообщение об очень быстром и грязном способе создания гистограммы в MySQL для числовых значений.
Есть несколько других способов создания гистограмм, которые лучше и гибче, используя операторы CASE и другие типы сложной логики. Этот метод завоевывает меня снова и снова, потому что его так легко модифицировать для каждого варианта использования, и он такой краткий и лаконичный.

Вот как вы это делаете:
  1.  
  2. SELECT ROUND(numeric_value, -2) AS bucket,
  3. COUNT(*) AS COUNT,
  4. RPAD('', LN(COUNT(*)), '*') AS bar
  5. FROM my_table
  6. GROUP BY bucket;
  7.  
Просто измените numeric_value на любой столбец, измените шаг округления, и все.
Хотя автор пишет, что это достаточно вольно решение, оно используется на десятках крупных площадках для подсчета и вывода (в svg) графики, которая может быть общедоступной.

Пользователи любят интересный графики, и не важно, что мало что понятно. crazy

Есть таблица логов, лайков и т.д. которые можно использовать, только позаботиться о том, чтобы выводимые данные не содержали что-то конфиденциального.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.