Re: select
От | Christoph Haller |
---|---|
Тема | Re: select |
Дата | |
Msg-id | 41178FF4.729EAB36@rodos.fzk.de обсуждение исходный текст |
Ответ на | select ("Knut P Lehre" <k.p.lehre@world-online.no>) |
Список | pgsql-sql |
Knut P Lehre wrote: > I have a table with fields: > id A B C D E F > where id is an int4 primary key. > In this table there is information like: > 1 a1 b1 xxx xxx > 2 a1 b1 xxx xxx xxx xxx > 3 a2 b2 xxx xxx xxx xxx > 4 a2 b2 xxx xxx xxx xxx > 5 a3 b3 xxx xxx xxx > 6 a3 b3 xxx xxx xxx xxx > 7 a3 b3 xxx xxx xxx xxx > 8 a4 b4 xxx xxx xxx xxx > 9 a1 b1 xxx > 10 a3 b3 xxx > 11 a1 b3 xxx > where xxx represents any information. > My problem is: I only want to select one of the records which have the same > combination of information in fields A and B, and that should be the record > with the lowest id. Thus, the resultset should be: > 1 a1 b1 xxx xxx > 3 a2 b2 xxx xxx xxx xxx > 5 a3 b3 xxx xxx xxx > 8 a4 b4 xxx xxx xxx xxx > 11 a1 b3 xxx > Importantly, I might not want the selected records listed in order of increasing > id. They might be sorted according to the data in e.g. the C field. > > Suggestions/comments greatly appreciated. > Does this give you the result you are looking for? SELECT * FROM ( SELECT DISTINCT ON (A,B) * FROM table ORDER BY id ) AS foo ORDER BY C ; Regards, Christoph
В списке pgsql-sql по дате отправления: