Conditional return of aggregated data - Mailing list pgsql-general

From Laura Smith
Subject Conditional return of aggregated data
Date
Msg-id huts4iYHSGpV-pwvHgoN-X8_PwFIFr-j7wbWueEXrs2Du5bKHLE6lik-8y-s6DBKkhAZr-gGGdbadVf3g9uHTf3CB5qX4SJDfD8ezTKLfM8=@protonmail.ch
Whole thread Raw
Responses Re: Conditional return of aggregated data
Re: Conditional return of aggregated data
Re: Conditional return of aggregated data
List pgsql-general
Hi,

I have some aggregated statistics which are currently being queried as follows:

create view stats_age as
SELECT a.category,
       a.statcount,
       b.a_desc
FROM reg_aggregated_stats a,regs_select_age b where a.category='age' and a.datapoint::smallint=b.a_val order by
a.datapointasc; 

However, as these relate to event registrations, a suggestion has been made that the database really should be
returningnothing until a certain number of registrations has been met (in order to avoid privacy infringing inferrence
fromwhat should be an otherwise fully irreversibly aggregated dataset). 

Now, the queries are wrapped in PL/PGSQL functions anyway, so I could make a second call to Postgres to find out
sum(statcount)and then conditionally return based on that. 

But is there a smarter way to do this out of a single SQL query ?

My initial idea was something along the lines of :
 select (select sum(statcount) from stats_residence) as aggstat,statcount,short_name_en from stats_residence where
aggstat>some_number;

But as I soon discovered that's not valid syntax! Hence ideas welcome from those smarter than me.

Thanks !

Laura



pgsql-general by date:

Previous
From: Ajay Pratap
Date:
Subject: pgbackrest concerns and doubts.
Next
From: Wim Bertels
Date:
Subject: Re: Conditional return of aggregated data