pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Rasmus Aveskogh <rasmus@defero.se>
To: pgsql-sql@postgresql.org
To: pgsql-general@postgresql.org
Subject: Result set granularity..
Date: Sat, 27 Sep 2003 15:11:29 +0200 (CEST)
Message-ID: <59410.193.243.134.6.1064668289.squirrel@www.defero.se> (raw)


Hi,

Since I went from Oracle to PostgreSQL I've been missing the "invisable"
column 'rownum'. I often used it to lower the granularity of my data.
For example, say I have a large table containing some sort of statistical
data and want to plot a graph using it.
If the graph is 600 pixels wide I might as well lower the granularity of
my incoming data to 600 measure points before plotting.

In Oracle I used to do this by using the modulus operator on the rownum
column as a restriction.

SELECT <column> FROM <table> WHERE mod(rownum, 5) = 0;

The query above would give me every fifth row of the original result set
and would save me from sending the data over my database connection and do
the lowering of the granularity in the application.

I have two questions, one dependent on the answer on the other one..

1) Is it possible to achieve this any other _easy_ way?
Perhaps it would be feasible to write a wrapper using a counter which
makes the SELECT and then return every fifth row to the SELECT calling the
wrapper. But then I assume the data still has to "travel" one step which
puts on some overhead.

2) Would it be possible to add one more limit argument to the non-standard
set of LIMIT and OFFET - a 'SCALE n' or 'GRANUL n' argument which would
return every n row of the initial result set. I think that would be
gladly accepted for folks working with statistical data.

-ra



view thread (6+ messages)  latest in thread

Message-ID: <59410.193.243.134.6.1064668289.squirrel@www.defero.se>
Permalink:  ../59410.193.243.134.6.1064668289.squirrel@www.defero.se/
Also on:    postgresql.org/message-id/59410.193.243.134.6.1064668289.squirrel@www.defero.se

 · 

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: rasmus@defero.se, pgsql-general@postgresql.org
  Subject: Re: Result set granularity..
  In-Reply-To: <59410.193.243.134.6.1064668289.squirrel@www.defero.se>

* 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