Re: Re: GROUPING and ORDERING and CONFUSION

From: "Ross J(dot) Reedstrom" <reedstrm(at)wallace(dot)ece(dot)rice(dot)edu>
To: pgsql-sql(at)postgresql(dot)org
Subject: Re: Re: GROUPING and ORDERING and CONFUSION
Date: 2000-04-20 15:58:34
Message-ID: 20000420105834.B7013@rice.edu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hmm, souynds like you want all the ruples returned, right? Then it's not
really a GROUP problem, just an ORDER BY one. If all your data follows
the example you gave, this should work:

reedstrm=# select * from fred order by text(num);
num | name
--------+----------------------------------------
15 | First Category Heading
1510 | first category subheading
1511 | second category subheading
1560 | spurious category subheading
156010 | first spurious category subheading
156011 | second spurious category subheading
16 | Second Category Heading
1610 | Second category subheading
161010 | Second category subheading subheading
(9 rows)

However, I _think_ your deeper question has to do with the indentation
part, right? Are you trying to indent based on category level? If you've got
some sort of programming language between your output and the SQL, then
something like:

reedstrm=# select text(num) as num ,length( text(num))/2 as level, name from fred order by text(num);
num | level | name
--------+-------+----------------------------------------
15 | 1 | First Category Heading
1510 | 2 | first category subheading
1511 | 2 | second category subheading
1560 | 2 | spurious category subheading
156010 | 3 | first spurious category subheading
156011 | 3 | second spurious category subheading
16 | 1 | Second Category Heading
1610 | 2 | Second category subheading
161010 | 3 | Second category subheading subheading
(9 rows)

Then use the 'depth' to output the proper indentation level.

Ross
--
Ross J. Reedstrom, Ph.D., <reedstrm(at)rice(dot)edu>
NSBRI Research Scientist/Programmer
Computer and Information Technology Institute
Rice University, 6100 S. Main St., Houston, TX 77005

On Thu, Apr 20, 2000 at 02:28:01AM +0100, Tim Johnson wrote:
> Hello,
>
>
> My problem is I want to pull that data out and group it so that it comes out
> just the way it went in.. So my page can read:
>
> 15: First Category Heading
> 1510: first category subheading
> 1511: second category subheading
> 16: ... and so on..
>
>

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Doug Budny 2000-04-20 16:06:19 RE: Check this
Previous Message Paolo Lo Giacco 2000-04-20 14:52:35 How to create an identifier colum.