Обсуждение: Which SQL query makes it possible to optain the 3 greatest values of an interger list ?
Which SQL query makes it possible to optain the 3 greatest values of an interger list ?
От
yaubi@yaubi.com (Yoann)
Дата:
OO( Sql Problem )Oo. That is to say a table of 5 inputs of 1 integer field : Table = { (1); (12); (3); (9); (4) } We want to obtain a result of 1 input of 3 fields, corresponding to the 3 greatest values of Table, by descending order : Result = { (12; 9; 4) } => Which SQL query makes it possible to obtain Result from Table ? We certainly need to use sub-queries, but how ? Thank you in advance for your help ! Yoann AUBINEAU
On 12 Sep 2001, Yoann wrote: > OO( Sql Problem )Oo. > > That is to say a table of 5 inputs of 1 integer field : > > Table = { (1); (12); (3); (9); (4) } Am I right that what you have is this? CREATE TABLE T (v integer); INSERT INTO T (v) VALUES (1); INSERT INTO T (v) VALUES (12); INSERT INTO T (v) VALUES (3); INSERT INTO T (v) VALUES (9); INSERT INTO T (v) VALUES (4); In that case you could do the following: SELECT v FROM T ORDER BY v DESC LIMIT 3; This will select the values, sort them in descending order and limit the result to 3 rows. I hope it helps. Regards, Patrik Kudo > We want to obtain a result of 1 input of 3 fields, > corresponding to the 3 greatest values of Table, > by descending order : > > Result = { (12; 9; 4) } > > => Which SQL query makes it possible to obtain Result from Table ? > We certainly need to use sub-queries, but how ? > > Thank you in advance for your help ! > > Yoann AUBINEAU
I would use SELECT id FROM table ORDER BY id LIMIT 0, 3; in order to get the top 3 results. The key is "Limit" keyword. ========== Wei Weng Network Software Engineer KenCast Inc. > -----Original Message----- > From: pgsql-sql-owner@postgresql.org > [mailto:pgsql-sql-owner@postgresql.org]On Behalf Of Yoann > Sent: Wednesday, September 12, 2001 4:41 AM > To: pgsql-sql@postgresql.org > Subject: [SQL] Which SQL query makes it possible to optain the 3 > greatest values of an interger list ? > > > OO( Sql Problem )Oo. > > That is to say a table of 5 inputs of 1 integer field : > > Table = { (1); (12); (3); (9); (4) } > > We want to obtain a result of 1 input of 3 fields, > corresponding to the 3 greatest values of Table, > by descending order : > > Result = { (12; 9; 4) } > > => Which SQL query makes it possible to obtain Result from Table ? > We certainly need to use sub-queries, but how ? > > Thank you in advance for your help ! > > Yoann AUBINEAU > > ---------------------------(end of broadcast)--------------------------- > TIP 3: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@postgresql.org so that your > message can get through to the mailing list cleanly >