Limiting to sub-id in a query ?

From: Tim Smith <randomdev4+postgres(at)gmail(dot)com>
To: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Limiting to sub-id in a query ?
Date: 2016-10-26 16:22:33
Message-ID: CA+HuS5FY_Cgvni-7wgjAZ9YoGE5hCk_+QdGXaKBVyfn8CoW4Rw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi,

I've been trying various GROUP BY but these all end up erroring out,
so maybe I'm using the wrong tool for the job (or, more likely, the
required query is beyond my level of SQL-fu !).

CREATE TABLE IF NOT EXISTS names (
main_id bigint,
sub_id bigint,
name text
);

create unique index IF NOT EXISTS name_idx on names(main_id,sub_id);
insert into names(main_id,sub_id,name) values(1,2,'Bob');
insert into names(main_id,sub_id,name) values(1,1,'Baby Bob');
insert into names(main_id,sub_id,name) values(100,200,'Tom');
insert into names(main_id,sub_id,name) values(100,100,'Jerry');

The desired output is one row per main_id, with the desired row being
the one with the lowest sub_id, i.e.

select.......

main_id | sub_id | name
---------+------------+-------------------
1 | 1 | Baby Bob
100 | 100 | Jerry

Responses

Browse pgsql-general by date

  From Date Subject
Next Message David G. Johnston 2016-10-26 16:30:01 Re: Limiting to sub-id in a query ?
Previous Message Kevin Grittner 2016-10-26 16:11:40 Re: Locking question