Re: Conditional return of aggregated data

From: Wim Bertels <wim(dot)bertels(at)ucll(dot)be>
To: Laura Smith <n5d9xq3ti233xiyif2vp(at)protonmail(dot)ch>, postgre <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Re: Conditional return of aggregated data
Date: 2019-12-02 11:27:42
Message-ID: f3fadfb74818b0f9324a8d03a934d342ec531ef9.camel@ucll.be
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hallo Laura,

i don't know if i understand your question fully,
but this might be helpfull?: FILTER

SELECT
count(*) AS unfiltered,
count(*) FILTER (WHERE i < 5) AS filtered
FROM generate_series(1,10) AS s(i);
unfiltered | filtered
------------+----------
10 | 4
(1 row)

https://www.postgresql.org/docs/current/sql-expressions.html

hth,
Wim

Laura Smith schreef op ma 02-12-2019 om 11:10 [+0000]:
> 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.datapoint asc;
>
> However, as these relate to event registrations, a suggestion has
> been made that the database really should be returning nothing until
> a certain number of registrations has been met (in order to avoid
> privacy infringing inferrence from what 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
>
>
--
mvg,
Wim Bertels
--
Lector
UC Leuven-Limburg
--
My only love sprung from my only hate!
Too early seen unknown, and known too late!
-- William Shakespeare, "Romeo and Juliet"

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Ravi Krishna 2019-12-02 11:52:49 Re: Conditional return of aggregated data
Previous Message Laura Smith 2019-12-02 11:10:44 Conditional return of aggregated data