Re: limit results to one row per foreign object
От | Alban Hertroys |
---|---|
Тема | Re: limit results to one row per foreign object |
Дата | |
Msg-id | 44A54456.9070002@magproductions.nl обсуждение исходный текст |
Ответ на | limit results to one row per foreign object ("Alan Bullock" <liststuff@gmail.com>) |
Список | pgsql-general |
Alan Bullock wrote: > hi all, I have the following schema: > > CREATE TABLE auctions ( id serial NOT NULL, user_id int4, title > varchar(255), body varchar(255), CONSTRAINT auctions_pkey PRIMARY KEY (id) ) > WITHOUT OIDS; > > CREATE TABLE bids ( id serial NOT NULL, auction_id int4, user_id int4, > amount float8, created_at timestamp, CONSTRAINT bids_pkey PRIMARY KEY (id) ) > WITHOUT OIDS; > > CREATE TABLE users ( id serial NOT NULL, username varchar(255), CONSTRAINT > users_pkey PRIMARY KEY (id) ) WITHOUT OIDS; > > I'd like to return all the bids for a given auction, but limit it to only > the *latest* bid from each user. so regardless of how many bids a user has > placed, only their latest is returned. > > I dont have a clue where to even start with this and would appreciate some > pointers > thanks Hmm... No foreign key constraints? I think you're looking for something like: SELECT * FROM bids WHERE auction_id = 1234 GROUP BY user_id HAVING created_at = MAX(created_at); You could also use a subselect with an order by created_at DESC limit 1 over each users bids. Regards, -- Alban Hertroys alban@magproductions.nl magproductions b.v. T: ++31(0)534346874 F: ++31(0)534346876 M: I: www.magproductions.nl A: Postbus 416 7500 AK Enschede // Integrate Your World //
В списке pgsql-general по дате отправления: