Re: Aggregate Function corr does not always return the correct value

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Maxim Orlov <orlovmg(at)gmail(dot)com>
Cc: Postgres hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Aggregate Function corr does not always return the correct value
Date: 2025-08-26 17:34:34
Message-ID: 1243664.1756229674@sss.pgh.pa.us
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Maxim Orlov <orlovmg(at)gmail(dot)com> writes:
> One of the clients complained as to why the query for calculating the
> correlation coefficient with the CORR function yielded such weird
> results. After a little analysis, it was discovered that they were
> calculating the correlation coefficient for two sets, one of which is
> more or less random and the other of which is simply a set of constant
> values (0.09 if that matters). As a result, they were attaining
> unexpected results. However, as far as I am aware, they should have
> received NULL because it is impossible to calculate the standard
> deviation for such a set.

[ shrug... ] Calculations with float8 are inherently inexact, so
it's unsurprising that we sometimes fail to detect that the input
is exactly a horizontal or vertical line. I don't think there is
anything to be done here that wouldn't end in making things worse.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message DINESH NAIR 2025-08-26 17:48:45 Re: Aggregate Function corr does not always return the correct value
Previous Message Tom Lane 2025-08-26 17:26:23 Re: [BUG] Remove self joins causes 'variable not found in subplan target lists' error