From: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
---|---|
To: | PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
Cc: | ITAGAKI Takahiro <itagaki(dot)takahiro(at)oss(dot)ntt(dot)co(dot)jp> |
Subject: | window functions maybe bug |
Date: | 2009-09-02 12:02:46 |
Message-ID: | 162867790909020502v64f57bc0h47f4de785a33d666@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hello,
I wrote article about statistical function - when I tested Joe Celko's
method, I found some problems on not unique dataset:
on distinct dataset is rule so rows here is max(hi), then there is min(lo):
create table x1 (a integer);
insert into x1 select generate_series(1,10);
postgres=# select row_number() over (order by a), row_number() over
(order by a desc) from x1;
row_number | row_number
------------+------------
10 | 1
9 | 2
8 | 3
7 | 4
6 | 5
5 | 6
4 | 7
3 | 8
2 | 9
1 | 10
(10 rows)
but on other set I got
truncate table x1;
insert into x1 values(2),(2),(3),(3),(4),(4),(5),(5),(6),(6),(6),(8),(9),(9),(10),(10);
postgres=# select row_number() over (order by a), row_number() over
(order by a desc) from x1;
row_number | row_number
------------+------------
16 | 1
15 | 2
14 | 3
11 | 4
13 | 5
12 | 6
9 | 7
10 | 8
7 | 9
8 | 10
5 | 11
6 | 12
4 | 13
3 | 14
1 | 15
2 | 16
(16 rows)
I am not sure, is this correct? When this solution is correct, then
Joe Celko's method for median calculation is buggy.
Regards
Pavel Stehule
From | Date | Subject | |
---|---|---|---|
Next Message | Merlin Moncure | 2009-09-02 12:07:13 | Re: Adding \ev view editor? |
Previous Message | Heikki Linnakangas | 2009-09-02 11:57:20 | Re: community decision-making & 8.5 |