Re: execute same query only one time?

From: Alban Hertroys <haramrae(at)gmail(dot)com>
To: Johannes <jotpe(at)posteo(dot)de>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: execute same query only one time?
Date: 2016-02-08 20:46:10
Message-ID: EF4F4A1B-1AFF-4109-AF85-B42742583267@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


> On 08 Feb 2016, at 20:05, Johannes <jotpe(at)posteo(dot)de> wrote:
>
> select id, col1, col2, ... from t0 where id = (select max(id) from t0
> where col1 = value1 and col2 = value2 and …);

> select col1 from t1 where t0_id = (select max(id) from t0 where col1 =
> value1 and col2 = value2 and …);

select t0.id, t0.col1, t0.col2, t0…., t1.col1
from t0
join t1 on (t1.t0_id = t0.id)
group by t0.id, t0.col1, t0.col2, t0…., t1.col1
having t0.id = max(t0.id);

Low complexity and works with any number of rows from t0 (as does Adrian's solution, btw).
I'm not sure what you mean by "copying of columns" in your reply to Adrian's solution, but I don't think that happens here.

Alban Hertroys
--
If you can't see the forest for the trees,
cut the trees and you'll find there is no forest.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Vitaly Burovoy 2016-02-08 20:50:39 Re: execute same query only one time?
Previous Message Johannes 2016-02-08 20:46:05 Re: execute same query only one time?