Re: tid_le comparison for tuple id (ctid) values?

From: Richard Huxton <dev(at)archonet(dot)com>
To: gry(at)ll(dot)mit(dot)edu
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: tid_le comparison for tuple id (ctid) values?
Date: 2005-11-22 09:14:04
Message-ID: 4382E15C.5070206@archonet.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

george young wrote:
> Well, I don't have any need for it to correlate with the age of the
> tuple. My use of step.ctid<s.ctid was not to get the earliest or
> latest row, but just to *choose* one. Perhaps there's some other
> query that would modify only one of each pair of equal-keyed rows?

How do you know there is only 1 duplicate?

Anyway, if (x,y) are the same but (z) is not then you can compare
against max(z) or min(z). Something like:

SELECT t1.x AS update_me_x, t1.y AS update_me_y, t1.z AS update_me_z
FROM
test_tbl AS t1,
(
SELECT x,y,max(z) AS max_z
FROM test_tbl
GROUP BY x,y
) AS t2
WHERE
t1.x = t2.x AND t1.y = t2.y AND t1.z = t2.max_z
--
Richard Huxton
Archonet Ltd

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Richard Huxton 2005-11-22 09:29:06 Re: tid_le comparison for tuple id (ctid) values?
Previous Message Sim Zacks 2005-11-22 08:30:17 join if all matches