Andreas I tried to rewrite it with the function rank() but I failed. The query you wrote isnt the same as what I search. Moreover, I cant use explain analyze because it is taking to much time to run and I'm getting timeout..
2017-10-01 21:48 GMT+03:00 Andreas Kretschmer <andr...@a-kretschmer.de>: > > > 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 > > > > -- > Sent via pgsql-performance mailing list (firstname.lastname@example.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-performance >