Re: Novice PL/pgSQL question and example

From: Tim Landscheidt <tim(at)tim-landscheidt(dot)de>
To: pgsql-novice(at)postgresql(dot)org
Subject: Re: Novice PL/pgSQL question and example
Date: 2010-02-08 21:17:38
Message-ID: m3r5ov8m19.fsf@passepartout.tim-landscheidt.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

James Long <pgsql-novice(at)museum(dot)rain(dot)com> wrote:

> [...]
> Is that as good as this can get, or is there a simpler way, more
> along the lines of the first version?

I'm not certain that I get the gist of your share_costs ()
function, but why not just something functional along the
lines of:

| tim=# SELECT G.A, TRUNC(90.0 / 7, 2) +
| tim-# CASE
| tim-# WHEN ROW_NUMBER() OVER (ORDER BY G.A) <= 100 * (90 - 7 * TRUNC(90.0 / 7, 2)) THEN
| tim-# 0.01
| tim-# ELSE
| tim-# 0.00
| tim-# END
| tim-# FROM generate_series(1, 7) AS G(A);
| a | ?column?
| ---+----------
| 1 | 12.86
| 2 | 12.86
| 3 | 12.86
| 4 | 12.86
| 5 | 12.86
| 6 | 12.85
| 7 | 12.85
| (7 Zeilen)

| tim=#

Tim

In response to

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message James Long 2010-02-08 21:44:09 Re: Novice PL/pgSQL question and example
Previous Message James Long 2010-02-08 19:31:29 Re: Novice PL/pgSQL question and example