Re: Create custom aggregate function and custom sfunc

From: Greg Stark <gsstark(at)mit(dot)edu>
To: Jasmin Dizdarevic <jasmin(dot)dizdarevic(at)gmail(dot)com>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: Create custom aggregate function and custom sfunc
Date: 2009-07-02 21:21:01
Message-ID: 407d949e0907021421qb1df8b1o9468f343298f08dd@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On Thu, Jul 2, 2009 at 3:48 PM, Jasmin
Dizdarevic<jasmin(dot)dizdarevic(at)gmail(dot)com> wrote:
> customer ; seg
> 111 ; L1
> 111 ; L2
> 111 ; L1
> 222 ; L3
> 222 ; L3
> 222 ; L2
>
> the result should look like this:
>
> 111: L1 - because L1 is higher than L2 and ratio of L1 : L2 is 2 : 1
> 222: L3 - because L3 is higher than L2 and ratio of L3 : L2 is 2 : 1

Are you just looking for the most frequent seg for each customer?

select distinct on (customer) customer,seg
from (select customer, seg, count(*) as n from tab group by seg)
order by customer, n desc

That doesn't give the ratios though.

--
greg
http://mit.edu/~gsstark/resume.pdf

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message nha 2009-07-03 03:48:43 Re: Create custom aggregate function and custom sfunc
Previous Message justin 2009-07-02 17:37:28 Re: Create custom aggregate function and custom sfunc