Re: select with max functions

From: Andreas Kretschmer <andreas(at)a-kretschmer(dot)de>
To: pgsql-performance(at)postgresql(dot)org
Subject: Re: select with max functions
Date: 2017-10-01 18:48:45
Message-ID: 0970df65-602e-724d-2c39-e4695ae48bb6@a-kretschmer.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Am 01.10.2017 um 14:41 schrieb Mariel Cherkassky:
> Hi,
> I need to use the max function in my query. I had very bad performance
> when I used the max :
>
> SELECT Ma.User_Id,
> COUNT(*) COUNT
> FROM Manuim Ma
> WHERE Ma.Bb_Open_Date =
> (SELECT max(Bb_Open_Date)
> FROM Manuim Man
> WHERE Man.User_Id = Ma.User_Id
> )
> GROUP BY Ma.User_Id
> HAVING COUNT(*) > 1;
>
>
> Any idea how can I continue from here ? Thanks , Mariel.

Maybe you can rewrite it, for instance to

select distinct on (user_id, bb_open_date) user_id, bb_open_date,
count(1) from Manuim group by 1,2 having count(1) > 1;

maybe much cheaper, but untested! If not, please share more details, at
least table-definition.

Regards, Andreas

--
2ndQuadrant - The PostgreSQL Support Company.
www.2ndQuadrant.com

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Mariel Cherkassky 2017-10-02 13:25:19 Re: select with max functions
Previous Message Gerardo Herzig 2017-10-01 13:35:47 Re: select with max functions