Re: Hierarchical Query Question (PHP)

From: "Jason O'Donnell" <odonnelljp01(at)gmail(dot)com>
To: David Blomstrom <david(dot)blomstrom(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Hierarchical Query Question (PHP)
Date: 2015-10-30 14:42:36
Message-ID: CAOYeSOfR5-wDv4MaQ+wkuHtSCKCfy-ypKKT4XCa3=X_Lagv07Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

David,

Does wrapping the transaction with BEGIN; COMMIT; work as you would expect?

$sql = "BEGIN; with recursive hier(taxon,parent_id) as (
select m.taxon, null::integer
from gz_life_mammals m
where taxon='Mammalia' --<< substitute me
union all
select m.taxon, m.parent_id
from hier, gz_life_mammals m
where m.parent=hier.taxon
)
select tax_rank(parent_id),
count(*) num_of_desc
from hier
where parent_id is not null
group by parent_id
order by parent_id; COMMIT;";

On Thu, Oct 29, 2015 at 8:18 PM, David Blomstrom <david(dot)blomstrom(at)gmail(dot)com>
wrote:

> Can anyone tell me how to write the query described @
> http://stackoverflow.com/questions/33402831/count-descendants-in-hierarchical-query
> ?
>
> The answer's very thorough, but I don't know how to string two queries and
> a function together like that. This doesn't work:
>
> $sql = "select * from gz_life_mammals;";
>
> create function tax_rank(id integer) returns text as $$
> select case id
> when 1 then 'Classes'
> when 2 then 'Orders'
> when 3 then 'Families'
> when 4 then 'Genera'
> when 5 then 'Species'
> end;
> $$ language sql;
>
> $sql = "with recursive hier(taxon,parent_id) as (
> select m.taxon, null::integer
> from gz_life_mammals m
> where taxon='Mammalia' --<< substitute me
> union all
> select m.taxon, m.parent_id
> from hier, gz_life_mammals m
> where m.parent=hier.taxon
> )
> select tax_rank(parent_id),
> count(*) num_of_desc
> from hier
> where parent_id is not null
> group by parent_id
> order by parent_id;";
>
> Thanks.
>
>

--
Jason O'Donnell
Crunchy Data Solutions

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2015-10-30 14:57:10 Re: mysql_fdw trouble
Previous Message Dane Foster 2015-10-30 14:21:10 Re: mysql_fdw trouble