use examples /* select * from dbo.salary order by customer_id */ declare @log_base bigint = 2 declare @scale float = 50 select *, REPLICATE('*',floor(customers/@scale)) as dist from ( select power(@log_base,floor(log(salary,@log_base))) as salary_linear, count(*) as customers from dbo.salary group by power(@log_base,floor(log(salary,@log_base))) ) inc_linear order by salary_linear