Re: LIMIT BASED ON PERCENT
От | Pavel Stehule |
---|---|
Тема | Re: LIMIT BASED ON PERCENT |
Дата | |
Msg-id | 162867790911181135u48cbeee0s18f7dee362557e51@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: LIMIT BASED ON PERCENT (Another Trad <anothertrad@gmail.com>) |
Список | pgsql-sql |
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 > >
В списке pgsql-sql по дате отправления: