Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nbkGr-0003Bp-DL for pgsql-sql@arkaria.postgresql.org; Tue, 05 Apr 2022 14:35:01 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1nbkGp-00021o-MH for pgsql-sql@arkaria.postgresql.org; Tue, 05 Apr 2022 14:34:59 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nbkGp-0001zf-2Z for pgsql-sql@lists.postgresql.org; Tue, 05 Apr 2022 14:34:59 +0000 Received: from mail-yb1-xb31.google.com ([2607:f8b0:4864:20::b31]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1nbkGm-0000om-9V for pgsql-sql@lists.postgresql.org; Tue, 05 Apr 2022 14:34:57 +0000 Received: by mail-yb1-xb31.google.com with SMTP id d138so15295177ybc.13 for ; Tue, 05 Apr 2022 07:34:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:from:date:message-id:subject:to; bh=4edqUftM8iIF1xuR4hOaZnjj6P66H9nfRM8NWOte4dw=; b=GIEaNrHov1qr3iP0c8q+Cb8U1Z2f0/e6zPsLemgr5HyEgpYMaUIjRmcq61DQNdRLYb DAs8I10KQUs/G9jnPlEucvLmsidU8B7HxYlSVc5zOBPOr2c0oqYH8qoTcpLCm/yUpIzW 0uleVXTDBkvz8zRlbRDZFz0+YNqtkbOS7OsdVWEHRzPb1lI3iTbkJOAQBnSoVCdJ9PgC ReIIBgC7nJR/bKCZnbW/7GRItGE+BlFyKF2CMHLoBsBkmhoRK45RpUe4j6d8MNcr6VBl +Sigr8CngVBjW8xa3hRkODqYW4aXCE4JIH+tppLBtcwssxyYJfKn6Xz6Grihb0nmN8DO XFpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=4edqUftM8iIF1xuR4hOaZnjj6P66H9nfRM8NWOte4dw=; b=IZdyXsvsn7zvOqeSB+mWHpXWRA2jl/0W56g/3/Gz7uED/k/NDZ6m9eXDt8IftmVi9u U/8j208hhLvaHIOdvxUQVwAw8HfVfBYEbCRTC9tsZu0F4JDJA0ksJT+1wERUCG9uqPRE mUCaSnn+HHlXXsKdJwmOkjVcy1SlZhdtaClPssOpzQGANzoVu67qyjrNT5c/Wt45AzRD 9pm/gTaElF+t+iPyAf+1gVFlM5+ZyWgxtPxK0yO8dEQiOqqlr/eKu5M1ZuJtpZ1XrlYr S91EtG+0fuCEWkrbYbV5MM9JuB2QsE4u3/4FYontPJOFw8AyKhY5RKmYzjoB8ByP0xeM w0LA== X-Gm-Message-State: AOAM530DNaIGvBcOC41zapXw7c+Kkwxe9FdW+Fsl7oXXqF31ckTvp7Es qgzZmT0oeXiMWwlknOr/SMVoTsqIuaKynoYHQ0vXUjXTLIKgdA== X-Google-Smtp-Source: ABdhPJygIN4DjiiHZqmTtWAs6BweX1lYJR4eQZ1CKBFoibnXQftx1LBJpUQUmnEdvPSkvQznSCMjA7A/nvhO084tKOk= X-Received: by 2002:a25:5085:0:b0:636:ed8f:9cad with SMTP id e127-20020a255085000000b00636ed8f9cadmr2814595ybb.349.1649169295160; Tue, 05 Apr 2022 07:34:55 -0700 (PDT) MIME-Version: 1.0 From: Jian He Date: Tue, 5 Apr 2022 20:04:44 +0530 Message-ID: Subject: Histogram question. To: pgsql-sql Content-Type: multipart/alternative; boundary="00000000000003370205dbe92667" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --00000000000003370205dbe92667 Content-Type: text/plain; charset="UTF-8" Queries in PostgreSQL: 2. Statistics : Postgres Professional 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.* --00000000000003370205dbe92667 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable



=
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 =3D 'boarding_passes' AND s.attnam= e =3D 'seat_no'= ;

return= 0.6762.=C2=A0

SELECT sum(s.most_common_f= reqs[ array_position((s.most_common_vals::text::text[]),v) ]) FROM pg_stats s, unnest(s.most_common_vals::text::text[= ]) v WHERE s.tablename =3D 'boarding_passes' AND s.attnam= e =3D 'seat_no'= AND v > '= 30C';

return 0.2127

SELECT round( relt= uples * ( 0.2127 -- fro= m most common values + (1 - 0.6762= - 0) * (49 / 100.0) -- from histogram )) FROM pg_class WHE= RE relname =3D 'boarding_passes';<= /span>

the above mentioned query, the p= art I don't understand is 49/100.

--00000000000003370205dbe92667--