pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Pavel Stehule <pavel.stehule@gmail.com>
To: Another Trad <anothertrad@gmail.com>
Cc: Guillaume Lelarge <guillaume@lelarge.info>
Cc: pgsql-sql@postgresql.org, Lee Hachadoorian <lee.hachadoorian@gmail.com>
Subject: Re: LIMIT BASED ON PERCENT
Date: Wed, 18 Nov 2009 20:35:22 +0100
Message-ID: <162867790911181135u48cbeee0s18f7dee362557e51@mail.gmail.com> (raw)
In-Reply-To: <af7271950911181128n3656e23y149709720e613a05@mail.gmail.com>
References: <af7271950911181112h574da17euf94d9640ec7680df@mail.gmail.com>
	<5ab13580911181121g6e89759doa6c6ea6557424f71@mail.gmail.com>
	<af7271950911181124i2a309729q2271d9f878e42f3d@mail.gmail.com>
	<200911182027.08857.guillaume@lelarge.info>
	<af7271950911181128n3656e23y149709720e613a05@mail.gmail.com>

2009/11/18 Another Trad <anothertrad@gmail.com>:
> But there is any way to do it?

CREATE OR REPLACE twenty()
RETURNS SETOF foo AS $$
DECLARE
  rows int;
  r record;
BEGIN
  rows := (SELECT count(*) FROM foo);
  FOR r IN EXECUTE 'SELECT * FROM r ORDER BY some col LIMIT ' || (rows
* 0.2)::int LOOP
    RETURN NEXT r;
  END LOOP;
  RETURN;
END;
$$ LANGUAGE plpgsql;

this code should to work in 8.3

regards
Pavel Stehule

>
> 2009/11/18 Guillaume Lelarge <guillaume@lelarge.info>
>>
>> Le mercredi 18 novembre 2009 à 20:24:09, Another Trad a écrit :
>> > No, It doesn't.
>> > In my machine:
>> >
>> > First select
>> > ERROR:  syntax error at end of input
>> > LINE 1: select * from rapadura.cliente limit 20%
>> >                                                 ^
>> > Second one:
>> > ERROR:  argument of LIMIT must not contain subqueries
>> >
>> > Postgres 8.3
>> >
>>
>> It works for Lee because obviously he's working on a 8.4 server. You can
>> use
>> subquery in a LIMIT clause if you have an 8.4 PostgreSQL server. For
>> earlier
>> releases, there's no way to do this in a single query.
>>
>>
>> --
>> Guillaume.
>>  http://www.postgresqlfr.org
>>  http://dalibo.com
>
>



view thread (11+ messages)  latest in thread

Message-ID: <162867790911181135u48cbeee0s18f7dee362557e51@mail.gmail.com>
Permalink:  ../162867790911181135u48cbeee0s18f7dee362557e51@mail.gmail.com/
Also on:    postgresql.org/message-id/162867790911181135u48cbeee0s18f7dee362557e51@mail.gmail.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: pavel.stehule@gmail.com, anothertrad@gmail.com, guillaume@lelarge.info, lee.hachadoorian@gmail.com
  Subject: Re: LIMIT BASED ON PERCENT
  In-Reply-To: <162867790911181135u48cbeee0s18f7dee362557e51@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox