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