Histogram question.
Jian He <hejian.mark@gmail.com>
From: Jian He <hejian.mark@gmail.com>
To: pgsql-sql <pgsql-sql@lists.postgresql.org>
Date: 2022-04-05T14:34:44Z
Lists: pgsql-sql
Queries in PostgreSQL: 2. Statistics : Postgres Professional <https://postgrespro.com/blog/pgsql/5969296> SELECT sum(s.most_common_freqs[ array_position((s.most_common_vals::text:: text[]),v) ]) FROM pg_stats s, unnest(s.most_common_vals::text::text[]) v WHERE s.tablename = 'boarding_passes' AND s.attname = 'seat_no'; *return 0.6762. * SELECT sum(s.most_common_freqs[ array_position((s.most_common_vals::text:: text[]),v) ]) FROM pg_stats s, unnest(s.most_common_vals::text::text[]) v WHERE s.tablename = 'boarding_passes' AND s.attname = 'seat_no' AND v > '30C'; return *0.2127* SELECT round( reltuples * ( 0.2127 -- from most common values + (1 - 0.6762 - 0) * (49 / 100.0) -- from histogram )) FROM pg_class WHERE relname = 'boarding_passes'; the above mentioned query, the part I don't understand is *49/100.*