| -- |
| -- STANDARD DATA FOR olap_* TESTS. |
| -- |
| drop table cf_olap_windowerr_customer; |
| ERROR: table "cf_olap_windowerr_customer" does not exist |
| drop table cf_olap_windowerr_vendor; |
| ERROR: table "cf_olap_windowerr_vendor" does not exist |
| drop table cf_olap_windowerr_product; |
| ERROR: table "cf_olap_windowerr_product" does not exist |
| drop table cf_olap_windowerr_sale; |
| ERROR: table "cf_olap_windowerr_sale" does not exist |
| drop table cf_olap_windowerr_sale_ord; |
| ERROR: table "cf_olap_windowerr_sale_ord" does not exist |
| create table cf_olap_windowerr_customer |
| ( |
| cn int not null, |
| cname text not null, |
| cloc text, |
| |
| primary key (cn) |
| |
| ) distributed by (cn); |
| create table cf_olap_windowerr_vendor |
| ( |
| vn int not null, |
| vname text not null, |
| vloc text, |
| |
| primary key (vn) |
| |
| ) distributed by (vn); |
| create table cf_olap_windowerr_product |
| ( |
| pn int not null, |
| pname text not null, |
| pcolor text, |
| |
| primary key (pn) |
| |
| ) distributed by (pn); |
| create table cf_olap_windowerr_sale |
| ( |
| cn int not null, |
| vn int not null, |
| pn int not null, |
| dt date not null, |
| qty int not null, |
| prc float not null, |
| |
| primary key (cn, vn, pn) |
| |
| ) distributed by (cn,vn,pn); |
| create table cf_olap_windowerr_sale_ord |
| ( |
| ord int not null, |
| cn int not null, |
| vn int not null, |
| pn int not null, |
| dt date not null, |
| qty int not null, |
| prc float not null, |
| |
| primary key (cn, vn, pn) |
| |
| ) distributed by (cn,vn,pn); |
| -- cf_olap_windowerr_customers |
| insert into cf_olap_windowerr_customer values |
| ( 1, 'Macbeth', 'Inverness'), |
| ( 2, 'Duncan', 'Forres'), |
| ( 3, 'Lady Macbeth', 'Inverness'), |
| ( 4, 'Witches, Inc', 'Lonely Heath'); |
| -- cf_olap_windowerr_vendors |
| insert into cf_olap_windowerr_vendor values |
| ( 10, 'Witches, Inc', 'Lonely Heath'), |
| ( 20, 'Lady Macbeth', 'Inverness'), |
| ( 30, 'Duncan', 'Forres'), |
| ( 40, 'Macbeth', 'Inverness'), |
| ( 50, 'Macduff', 'Fife'); |
| -- cf_olap_windowerr_products |
| insert into cf_olap_windowerr_product values |
| ( 100, 'Sword', 'Black'), |
| ( 200, 'Dream', 'Black'), |
| ( 300, 'Castle', 'Grey'), |
| ( 400, 'Justice', 'Clear'), |
| ( 500, 'Donuts', 'Plain'), |
| ( 600, 'Donuts', 'Chocolate'), |
| ( 700, 'Hamburger', 'Grey'), |
| ( 800, 'Fries', 'Grey'); |
| -- cf_olap_windowerr_sales (transactions) |
| insert into cf_olap_windowerr_sale values |
| ( 2, 40, 100, '1401-1-1', 1100, 2400), |
| ( 1, 10, 200, '1401-3-1', 1, 0), |
| ( 3, 40, 200, '1401-4-1', 1, 0), |
| ( 1, 20, 100, '1401-5-1', 1, 0), |
| ( 1, 30, 300, '1401-5-2', 1, 0), |
| ( 1, 50, 400, '1401-6-1', 1, 0), |
| ( 2, 50, 400, '1401-6-1', 1, 0), |
| ( 1, 30, 500, '1401-6-1', 12, 5), |
| ( 3, 30, 500, '1401-6-1', 12, 5), |
| ( 3, 30, 600, '1401-6-1', 12, 5), |
| ( 4, 40, 700, '1401-6-1', 1, 1), |
| ( 4, 40, 800, '1401-6-1', 1, 1); |
| -- cf_olap_windowerr_sales (ord transactions) |
| insert into cf_olap_windowerr_sale_ord values |
| ( 1,2, 40, 100, '1401-1-1', 1100, 2400), |
| ( 2,1, 10, 200, '1401-3-1', 1, 0), |
| ( 3,3, 40, 200, '1401-4-1', 1, 0), |
| ( 4,1, 20, 100, '1401-5-1', 1, 0), |
| ( 5,1, 30, 300, '1401-5-2', 1, 0), |
| ( 6,1, 50, 400, '1401-6-1', 1, 0), |
| ( 7,2, 50, 400, '1401-6-1', 1, 0), |
| ( 8,1, 30, 500, '1401-6-1', 12, 5), |
| ( 9,3, 30, 500, '1401-6-1', 12, 5), |
| ( 10,3, 30, 600, '1401-6-1', 12, 5), |
| ( 11,4, 40, 700, '1401-6-1', 1, 1), |
| ( 12,4, 40, 800, '1401-6-1', 1, 1); |
| -- end_ignore |
| -- LEAD() function with OVER() clause having ONLY ORDER BY ASC/DESC (without framing) -- |
| SELECT cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.pn*cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.pn) as int),NULL) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc); |
| dt | vn | pn | to_char | cn |
| ------------+----+-----+-------------------+---- |
| 01-01-1401 | 40 | 100 | .0000000 | 2 |
| 03-01-1401 | 10 | 200 | .0000000 | 1 |
| 04-01-1401 | 40 | 200 | .0000000 | 3 |
| 05-01-1401 | 20 | 100 | .0000000 | 1 |
| 05-02-1401 | 30 | 300 | .0000000 | 1 |
| 06-01-1401 | 50 | 400 | .0000000 | 1 |
| 06-01-1401 | 50 | 400 | .0000000 | 2 |
| 06-01-1401 | 30 | 500 | .0000000 | 1 |
| 06-01-1401 | 30 | 500 | .0000000 | 3 |
| 06-01-1401 | 30 | 600 | .0000000 | 3 |
| 06-01-1401 | 40 | 700 | .0000000 | 4 |
| 06-01-1401 | 40 | 800 | .0000000 | 4 |
| (12 rows) |
| |
| -- COUNT() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn desc range 3 preceding ), |
| win2 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.pn desc), |
| win3 as (order by cf_olap_windowerr_sale.pn asc); |
| ERROR: division by zero |
| -- COUNT() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.qty)) OVER(order by cf_olap_windowerr_sale.vn desc range between floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.qty)::integer preceding and 2 preceding ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.qty, |
| TO_CHAR(COALESCE(RANK() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.qty) as int),NULL) OVER(win4),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.vn desc range between floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.qty)::integer preceding and 2 preceding ), |
| win2 as (partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc), |
| win3 as (order by cf_olap_windowerr_sale.cn desc), |
| win4 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc); |
| pn | vn | cn | prc | to_char | to_char | to_char | qty | to_char | to_char |
| -----+----+----+------+-------------------+-------------------+-------------------+------+-------------------+------------------- |
| 100 | 40 | 2 | 2400 | 2.0000000 | 2.0000000 | 1.0000000 | 1100 | 6.0000000 | .0000000 |
| 200 | 10 | 1 | 0 | .0000000 | .0000000 | 1.0000000 | 1 | 8.0000000 | 38.0000000 |
| 200 | 40 | 3 | 0 | .0000000 | .0000000 | 1.0000000 | 1 | 3.0000000 | 9.0000000 |
| 100 | 20 | 1 | 0 | .0000000 | .0000000 | 1.0000000 | 1 | 8.0000000 | 37.0000000 |
| 300 | 30 | 1 | 0 | .0000000 | .0000000 | 1.0000000 | 1 | 8.0000000 | 19.0000000 |
| 400 | 50 | 1 | 0 | .0000000 | .0000000 | 1.0000000 | 1 | 8.0000000 | 29.0000000 |
| 400 | 50 | 2 | 0 | .0000000 | .0000000 | 1.0000000 | 1 | 6.0000000 | 49.0000000 |
| 500 | 30 | 1 | 5 | 4.0000000 | 4.0000000 | 1.0000000 | 12 | 8.0000000 | 38.0000000 |
| 500 | 30 | 3 | 5 | 4.0000000 | 4.0000000 | 1.0000000 | 12 | 3.0000000 | 9.0000000 |
| 600 | 30 | 3 | 5 | 4.0000000 | 4.0000000 | 1.0000000 | 12 | 3.0000000 | 37.0000000 |
| 700 | 40 | 4 | 1 | .0000000 | .0000000 | 1.0000000 | 1 | 1.0000000 | 36.0000000 |
| 800 | 40 | 4 | 1 | .0000000 | .0000000 | 1.0000000 | 1 | 1.0000000 | 36.0000000 |
| (12 rows) |
| |
| -- COUNT() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(order by cf_olap_windowerr_sale.pn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.prc)) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.qty) as int),NULL) OVER(win4),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.vn desc range between floor(cf_olap_windowerr_sale.prc)::integer preceding and current row ), |
| win2 as (partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.cn desc), |
| win3 as (order by cf_olap_windowerr_sale.pn asc), |
| win4 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc); |
| prc | cn | cn | cn | to_char | vn | to_char | qty | pn | to_char | to_char | to_char | to_char |
| ------+----+----+----+-------------------+----+-------------------+------+-----+-------------------+-------------------+-------------------+------------------- |
| 0 | 1 | 1 | 1 | 1.0000000 | 10 | .0000000 | 1 | 200 | .3333333 | .3333333 | 1.0000000 | 1.0000000 |
| 0 | 1 | 1 | 1 | 1.0000000 | 20 | .0000000 | 1 | 100 | .1666667 | .1666667 | 1.0000000 | 1.0000000 |
| 0 | 1 | 1 | 1 | 4.0000000 | 30 | .0000000 | 1 | 300 | .4166667 | .4166667 | 1.0000000 | 1.0000000 |
| 5 | 1 | 1 | 1 | 4.0000000 | 30 | .0000000 | 12 | 500 | .7500000 | .7500000 | 1.0000000 | .0000000 |
| 5 | 3 | 3 | 3 | 4.0000000 | 30 | .0000000 | 12 | 500 | .7500000 | .7500000 | 1.0000000 | .0000000 |
| 5 | 3 | 3 | 3 | 4.0000000 | 30 | .0000000 | 12 | 600 | .8333333 | .8333333 | 1.0000000 | .0000000 |
| 0 | 3 | 3 | 3 | 4.0000000 | 40 | .0000000 | 1 | 200 | .3333333 | .3333333 | 1.0000000 | .0000000 |
| 1 | 4 | 4 | 4 | 4.0000000 | 40 | .0000000 | 1 | 700 | .9166667 | .9166667 | 1.0000000 | .0000000 |
| 1 | 4 | 4 | 4 | 4.0000000 | 40 | .0000000 | 1 | 800 | 1.0000000 | 1.0000000 | 1.0000000 | .0000000 |
| 2400 | 2 | 2 | 2 | 6.0000000 | 40 | .0000000 | 1100 | 100 | .1666667 | .1666667 | 1.0000000 | .0000000 |
| 0 | 1 | 1 | 1 | 2.0000000 | 50 | .0000000 | 1 | 400 | .5833333 | .5833333 | 1.0000000 | 1.0000000 |
| 0 | 2 | 2 | 2 | 2.0000000 | 50 | .0000000 | 1 | 400 | .5833333 | .5833333 | 1.0000000 | .0000000 |
| (12 rows) |
| |
| -- COUNT() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(order by cf_olap_windowerr_sale.vn asc),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.vn desc range between floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.vn)::integer preceding and floor(cf_olap_windowerr_sale.cn)::integer following ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc); |
| ERROR: invalid preceding or following size in window function |
| -- COUNT() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn desc range between floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.prc)::integer preceding and unbounded following ), |
| win2 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.vn asc); |
| ERROR: invalid preceding or following size in window function |
| -- COUNT() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn asc range between current row and unbounded following ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc); |
| ERROR: division by zero |
| -- COUNT() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.prc+cf_olap_windowerr_sale.cn) as int),NULL) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc,cf_olap_windowerr_sale.vn desc,cf_olap_windowerr_sale.cn asc rows between floor(cf_olap_windowerr_sale.cn*cf_olap_windowerr_sale.qty) preceding and 4 following ), |
| win2 as (order by cf_olap_windowerr_sale.pn asc), |
| win3 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc); |
| ERROR: division by zero |
| -- COUNT() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.qty*cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.dt, |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.prc) as int),NULL) OVER(win4),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.pn)) OVER(partition by cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.vn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.cn) as int),NULL) OVER(win5),0),'99999999.9999999'),cf_olap_windowerr_sale.qty |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc rows between current row and floor(cf_olap_windowerr_sale.vn) following ), |
| win2 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.vn desc), |
| win3 as (partition by cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.vn asc), |
| win4 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc), |
| win5 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc); |
| ERROR: division by zero |
| -- COUNT() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.vn)) OVER(order by cf_olap_windowerr_sale.vn desc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.pn) as int),NULL) OVER(win4),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win5),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.cn asc range between unbounded preceding and floor(cf_olap_windowerr_sale.cn)::integer following ), |
| win2 as (order by cf_olap_windowerr_sale.vn desc), |
| win3 as (order by cf_olap_windowerr_sale.pn asc), |
| win4 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc), |
| win5 as (order by cf_olap_windowerr_sale.vn asc); |
| pn | pn | vn | to_char | prc | cn | to_char | to_char | to_char | to_char | to_char |
| -----+-----+----+-------------------+------+----+-------------------+-------------------+-------------------+-------------------+------------------- |
| 200 | 200 | 10 | 1.0000000 | 0 | 1 | 12.0000000 | 12.0000000 | 3.0000000 | .0000000 | 1.0000000 |
| 100 | 100 | 20 | 1.0000000 | 0 | 1 | 11.0000000 | 11.0000000 | 1.0000000 | .0000000 | 2.0000000 |
| 600 | 600 | 30 | 1.0000000 | 5 | 3 | 7.0000000 | 10.0000000 | 10.0000000 | .0000000 | 3.0000000 |
| 500 | 500 | 30 | 1.0000000 | 5 | 1 | 7.0000000 | 10.0000000 | 8.0000000 | .0000000 | 3.0000000 |
| 300 | 300 | 30 | 1.0000000 | 0 | 1 | 7.0000000 | 10.0000000 | 5.0000000 | .0000000 | 3.0000000 |
| 500 | 500 | 30 | 2.0000000 | 5 | 3 | 7.0000000 | 10.0000000 | 8.0000000 | .0000000 | 3.0000000 |
| 200 | 200 | 40 | 1.0000000 | 0 | 3 | 3.0000000 | 6.0000000 | 3.0000000 | .0000000 | 4.0000000 |
| 100 | 100 | 40 | 1.0000000 | 2400 | 2 | 3.0000000 | 6.0000000 | 1.0000000 | .0000000 | 4.0000000 |
| 800 | 800 | 40 | 1.0000000 | 1 | 4 | 3.0000000 | 6.0000000 | 12.0000000 | .0000000 | 4.0000000 |
| 700 | 700 | 40 | 1.0000000 | 1 | 4 | 3.0000000 | 6.0000000 | 11.0000000 | .0000000 | 4.0000000 |
| 400 | 400 | 50 | 2.0000000 | 0 | 1 | 1.0000000 | 2.0000000 | 6.0000000 | .0000000 | 5.0000000 |
| 400 | 400 | 50 | 2.0000000 | 0 | 2 | 1.0000000 | 2.0000000 | 6.0000000 | .0000000 | 5.0000000 |
| (12 rows) |
| |
| -- COUNT() function with partition by and order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.qty |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.cn desc range between floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.prc)::integer preceding and current row ); |
| ERROR: invalid preceding or following size in window function (seg0 slice1 127.0.0.1:40000 pid=19828) |
| -- COUNT() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.pn)) OVER(partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.cn desc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.pn) as int),NULL) OVER(win4),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win5),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc,cf_olap_windowerr_sale.pn desc,cf_olap_windowerr_sale.pn desc rows between 0 preceding and floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.qty) following ), |
| win2 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc), |
| win3 as (order by cf_olap_windowerr_sale.vn desc), |
| win4 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc), |
| win5 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.cn desc); |
| qty | qty | qty | to_char | cn | dt | pn | to_char | vn | to_char | to_char | to_char | to_char |
| ------+------+------+-------------------+----+------------+-----+-------------------+----+-------------------+-------------------+-------------------+------------------- |
| 1 | 1 | 1 | 1.0000000 | 1 | 05-01-1401 | 100 | 1.0000000 | 20 | 1.0000000 | 4.0000000 | .0000000 | 1.0000000 |
| 1100 | 1100 | 1100 | 1.0000000 | 2 | 01-01-1401 | 100 | 1.0000000 | 40 | 1.0000000 | 2.0000000 | .0000000 | 1.0000000 |
| 1 | 1 | 1 | 1.0000000 | 1 | 03-01-1401 | 200 | 1.0000000 | 10 | 1.0000000 | 5.0000000 | .0000000 | 1.0000000 |
| 1 | 1 | 1 | 1.0000000 | 3 | 04-01-1401 | 200 | 1.0000000 | 40 | 1.0000000 | 2.0000000 | .0000000 | 1.0000000 |
| 1 | 1 | 1 | 1.0000000 | 1 | 05-02-1401 | 300 | 1.0000000 | 30 | 1.0000000 | 3.0000000 | .0000000 | 1.0000000 |
| 1 | 1 | 1 | 2.0000000 | 1 | 06-01-1401 | 400 | 1.0000000 | 50 | 1.0000000 | 1.0000000 | .0000000 | 1.0000000 |
| 1 | 1 | 1 | 1.0000000 | 2 | 06-01-1401 | 400 | 1.0000000 | 50 | 1.0000000 | 1.0000000 | .0000000 | 1.0000000 |
| 12 | 12 | 12 | 1.0000000 | 1 | 06-01-1401 | 500 | 1.0000000 | 30 | 1.0000000 | 3.0000000 | .0000000 | 1.0000000 |
| 12 | 12 | 12 | 2.0000000 | 3 | 06-01-1401 | 500 | 1.0000000 | 30 | 1.0000000 | 3.0000000 | .0000000 | 1.0000000 |
| 12 | 12 | 12 | 1.0000000 | 3 | 06-01-1401 | 600 | 1.0000000 | 30 | 1.0000000 | 3.0000000 | .0000000 | 1.0000000 |
| 1 | 1 | 1 | 2.0000000 | 4 | 06-01-1401 | 700 | 1.0000000 | 40 | 1.0000000 | 2.0000000 | .0000000 | 1.0000000 |
| 1 | 1 | 1 | 1.0000000 | 4 | 06-01-1401 | 800 | 1.0000000 | 40 | 1.0000000 | 2.0000000 | .0000000 | 1.0000000 |
| (12 rows) |
| |
| -- MAX() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.prc) as int),NULL) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(partition by cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.cn desc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.pn*cf_olap_windowerr_sale.cn)) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.qty*cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.cn) as int),NULL) OVER(win4),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.pn asc range between unbounded preceding and current row ), |
| win2 as (partition by cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.cn desc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc), |
| win4 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc); |
| ERROR: division by zero |
| -- MAX() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn AND cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.vn asc range between 3 following and floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.qty)::integer following ), |
| win2 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc), |
| win3 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.cn desc); |
| ERROR: invalid preceding or following size in window function |
| -- MAX() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.pn)) OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc,cf_olap_windowerr_sale.vn desc,cf_olap_windowerr_sale.pn asc rows between unbounded preceding and 1 preceding ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.prc) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.vn*cf_olap_windowerr_sale.prc)) OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc,cf_olap_windowerr_sale.vn desc,cf_olap_windowerr_sale.pn asc rows between unbounded preceding and 1 preceding ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.prc)) OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc,cf_olap_windowerr_sale.vn desc,cf_olap_windowerr_sale.pn asc rows between unbounded preceding and 1 preceding ), |
| win2 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc); |
| ERROR: division by zero |
| -- MAX() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.qty+cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.prc |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc,cf_olap_windowerr_sale.cn asc rows between floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.prc) preceding and current row ), |
| win2 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc); |
| ERROR: frame starting offset must not be negative |
| -- MAX() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.cn*cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.pn*cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.vn) as int),NULL) OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.prc) as int),NULL) OVER(win4),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.vn) as int),NULL) OVER(win5),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc rows between current row and current row ), |
| win2 as (order by cf_olap_windowerr_sale.vn desc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc), |
| win4 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc), |
| win5 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc); |
| dt | prc | cn | prc | cn | cn | to_char | to_char | vn | to_char | pn | to_char | to_char |
| ------------+------+----+------+----+----+-------------------+-------------------+----+-------------------+-----+-------------------+------------------- |
| 05-01-1401 | 0 | 1 | 0 | 1 | 1 | 20.0000000 | 4.0000000 | 20 | .0000000 | 100 | 1.0000000 | .0000000 |
| 03-01-1401 | 0 | 1 | 0 | 1 | 1 | 10.0000000 | 5.0000000 | 10 | .0000000 | 200 | 1100.0000000 | .0000000 |
| 05-02-1401 | 0 | 1 | 0 | 1 | 1 | 30.0000000 | 3.0000000 | 30 | .0000000 | 300 | 1.0000000 | .0000000 |
| 06-01-1401 | 0 | 1 | 0 | 1 | 1 | 50.0000000 | 1.0000000 | 50 | .0000000 | 400 | 1.0000000 | .0000000 |
| 06-01-1401 | 5 | 1 | 5 | 1 | 1 | 30.0000000 | 3.0000000 | 30 | .0000000 | 500 | 1.0000000 | .0000000 |
| 01-01-1401 | 2400 | 2 | 2400 | 2 | 2 | 80.0000000 | 2.0000000 | 40 | .0000000 | 100 | .0000000 | .0000000 |
| 06-01-1401 | 0 | 2 | 0 | 2 | 2 | 100.0000000 | 1.0000000 | 50 | .0000000 | 400 | 1.0000000 | .0000000 |
| 04-01-1401 | 0 | 3 | 0 | 3 | 3 | 120.0000000 | 2.0000000 | 40 | .0000000 | 200 | .0000000 | .0000000 |
| 06-01-1401 | 5 | 3 | 5 | 3 | 3 | 90.0000000 | 3.0000000 | 30 | .0000000 | 500 | 1100.0000000 | .0000000 |
| 06-01-1401 | 5 | 3 | 5 | 3 | 3 | 90.0000000 | 3.0000000 | 30 | .0000000 | 600 | 1.0000000 | .0000000 |
| 06-01-1401 | 1 | 4 | 1 | 4 | 4 | 160.0000000 | 2.0000000 | 40 | .0000000 | 700 | 1.0000000 | .0000000 |
| 06-01-1401 | 1 | 4 | 1 | 4 | 4 | 160.0000000 | 2.0000000 | 40 | .0000000 | 800 | 1.0000000 | .0000000 |
| (12 rows) |
| |
| -- MAX() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.cn)) OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc,cf_olap_windowerr_sale.vn asc rows between current row and unbounded following ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.qty) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.dt, |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(partition by cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc,cf_olap_windowerr_sale.vn asc rows between current row and unbounded following ), |
| win2 as (partition by cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc); |
| cn | vn | qty | qty | to_char | pn | to_char | to_char | dt | to_char | to_char |
| ----+----+------+------+-------------------+-----+-------------------+-------------------+------------+-------------------+------------------- |
| 2 | 40 | 1100 | 1100 | 24.0000000 | 100 | 4.0000000 | .0000000 | 01-01-1401 | 1.0000000 | 1.0000000 |
| 1 | 10 | 1 | 1 | .0000000 | 200 | 4.0000000 | .0000000 | 03-01-1401 | 1.0000000 | 1.0000000 |
| 3 | 40 | 1 | 1 | .0000000 | 200 | 4.0000000 | .0000000 | 04-01-1401 | 1.0000000 | 1.0000000 |
| 1 | 20 | 1 | 1 | .0000000 | 100 | 4.0000000 | .0000000 | 05-01-1401 | 1.0000000 | 1.0000000 |
| 1 | 30 | 1 | 1 | .0000000 | 300 | 4.0000000 | .0000000 | 05-02-1401 | 1.0000000 | 1.0000000 |
| 1 | 50 | 1 | 1 | .0000000 | 400 | 4.0000000 | 49.0000000 | 06-01-1401 | 1.0000000 | 1.0000000 |
| 2 | 50 | 1 | 1 | .0000000 | 400 | 4.0000000 | 18.0000000 | 06-01-1401 | 2.0000000 | 2.0000000 |
| 1 | 30 | 12 | 12 | .0000000 | 500 | 4.0000000 | .0000000 | 06-01-1401 | 3.0000000 | 3.0000000 |
| 3 | 30 | 12 | 12 | .0000000 | 500 | 4.0000000 | .0000000 | 06-01-1401 | 4.0000000 | 4.0000000 |
| 3 | 30 | 12 | 12 | .0000000 | 600 | 4.0000000 | .0000000 | 06-01-1401 | 5.0000000 | 5.0000000 |
| 4 | 40 | 1 | 1 | .0000000 | 700 | 4.0000000 | 39.0000000 | 06-01-1401 | 6.0000000 | 6.0000000 |
| 4 | 40 | 1 | 1 | .0000000 | 800 | 4.0000000 | 39.0000000 | 06-01-1401 | 7.0000000 | 7.0000000 |
| (12 rows) |
| |
| -- MAX() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.dt, TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.cn) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.qty, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.pn) as int),NULL) OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn AND cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc rows between floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.cn) following and floor(cf_olap_windowerr_sale.pn*cf_olap_windowerr_sale.prc) following ), |
| win2 as (partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc); |
| dt | to_char | vn | to_char | qty | to_char | pn |
| ------------+-------------------+----+-------------------+------+-------------------+----- |
| 01-01-1401 | 3.0000000 | 40 | .0000000 | 1100 | .0000000 | 100 |
| 03-01-1401 | .0000000 | 10 | -190.0000000 | 1 | .0000000 | 200 |
| 04-01-1401 | .0000000 | 40 | .0000000 | 1 | .0000000 | 200 |
| 05-01-1401 | .0000000 | 20 | -80.0000000 | 1 | .0000000 | 100 |
| 05-02-1401 | .0000000 | 30 | -270.0000000 | 1 | .0000000 | 300 |
| 06-01-1401 | .0000000 | 50 | -350.0000000 | 1 | .0000000 | 400 |
| 06-01-1401 | .0000000 | 50 | .0000000 | 1 | .0000000 | 400 |
| 06-01-1401 | 3.0000000 | 30 | .0000000 | 12 | .0000000 | 500 |
| 06-01-1401 | .0000000 | 30 | .0000000 | 12 | .0000000 | 500 |
| 06-01-1401 | .0000000 | 30 | .0000000 | 12 | .0000000 | 600 |
| 06-01-1401 | .0000000 | 40 | .0000000 | 1 | .0000000 | 700 |
| 06-01-1401 | .0000000 | 40 | .0000000 | 1 | .0000000 | 800 |
| (12 rows) |
| |
| -- MAX() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc)) OVER(partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.cn desc range between unbounded preceding and 3 following ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.cn*cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.cn) as int),NULL) OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.cn) as int),NULL) OVER(win4),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.cn desc range between unbounded preceding and 3 following ), |
| win2 as (partition by cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.pn desc), |
| win3 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc), |
| win4 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc); |
| ERROR: division by zero (seg1 slice3 127.0.0.1:25433 pid=55693) |
| -- MAX() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(order by cf_olap_windowerr_sale.vn desc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.vn)) OVER(order by cf_olap_windowerr_sale.cn asc),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc,cf_olap_windowerr_sale.pn desc rows between unbounded preceding and 2 preceding ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc), |
| win3 as (order by cf_olap_windowerr_sale.cn asc); |
| qty | pn | vn | to_char | cn | to_char | to_char | to_char | to_char | to_char |
| ------+-----+----+-------------------+----+-------------------+-------------------+-------------------+-------------------+------------------- |
| 1 | 400 | 50 | .0000000 | 2 | .5454545 | 2.0000000 | 1.0000000 | 7.0000000 | 50.0000000 |
| 1 | 400 | 50 | .0000000 | 1 | .4545455 | 1.0000000 | 1.0000000 | 6.0000000 | 50.0000000 |
| 1 | 800 | 40 | .0000000 | 4 | 1.0000000 | 4.0000000 | 3.0000000 | 12.0000000 | 50.0000000 |
| 1 | 700 | 40 | .0000000 | 4 | .9090909 | 4.0000000 | 3.0000000 | 11.0000000 | 50.0000000 |
| 1 | 200 | 40 | .0000000 | 3 | .1818182 | 3.0000000 | 3.0000000 | 3.0000000 | 50.0000000 |
| 1100 | 100 | 40 | .0000000 | 2 | .0000000 | 2.0000000 | 3.0000000 | 1.0000000 | 50.0000000 |
| 12 | 500 | 30 | .0000000 | 3 | .7272727 | 3.0000000 | 7.0000000 | 9.0000000 | 50.0000000 |
| 12 | 600 | 30 | .0000000 | 3 | .8181818 | 3.0000000 | 7.0000000 | 10.0000000 | 50.0000000 |
| 12 | 500 | 30 | .0000000 | 1 | .6363636 | 1.0000000 | 7.0000000 | 8.0000000 | 50.0000000 |
| 1 | 300 | 30 | .0000000 | 1 | .3636364 | 1.0000000 | 7.0000000 | 5.0000000 | 50.0000000 |
| 1 | 100 | 20 | .0000000 | 1 | .2727273 | 1.0000000 | 11.0000000 | 4.0000000 | 50.0000000 |
| 1 | 200 | 10 | .0000000 | 1 | .0909091 | 1.0000000 | 12.0000000 | 2.0000000 | 50.0000000 |
| (12 rows) |
| |
| -- MAX() function with partition by and order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc rows between 7 preceding and unbounded following ); |
| ERROR: division by zero (seg0 slice2 127.0.0.1:25432 pid=55689) |
| -- MAX() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.qty+cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.vn) as int),NULL) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.vn) as int),NULL) OVER(win4),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.vn)) OVER(partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc,cf_olap_windowerr_sale.pn desc,cf_olap_windowerr_sale.pn asc rows between current row and unbounded following ),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc,cf_olap_windowerr_sale.pn desc,cf_olap_windowerr_sale.pn asc rows between current row and unbounded following ), |
| win2 as (partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.pn desc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc), |
| win4 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc); |
| qty | to_char | cn | dt | vn | pn | to_char | to_char | to_char | to_char |
| ------+-------------------+----+------------+----+-----+-------------------+-------------------+-------------------+------------------- |
| 1100 | 1200.0000000 | 2 | 01-01-1401 | 40 | 100 | .0000000 | .0000000 | .0000000 | 1.0000000 |
| 1 | 201.0000000 | 1 | 03-01-1401 | 10 | 200 | .0000000 | 800.0000000 | .0000000 | 1.0000000 |
| 1 | 201.0000000 | 3 | 04-01-1401 | 40 | 200 | .0000000 | .0000000 | .0000000 | 1.0000000 |
| 1 | 101.0000000 | 1 | 05-01-1401 | 20 | 100 | .0000000 | .0000000 | .0000000 | 1.0000000 |
| 1 | 301.0000000 | 1 | 05-02-1401 | 30 | 300 | .0000000 | .0000000 | .0000000 | 1.0000000 |
| 1 | 401.0000000 | 1 | 06-01-1401 | 50 | 400 | .6666667 | .0000000 | .0000000 | 2.0000000 |
| 1 | 401.0000000 | 2 | 06-01-1401 | 50 | 400 | .6666667 | .0000000 | .0000000 | 1.0000000 |
| 12 | 512.0000000 | 1 | 06-01-1401 | 30 | 500 | .5000000 | .0000000 | .0000000 | 2.0000000 |
| 12 | 512.0000000 | 3 | 06-01-1401 | 30 | 500 | .5000000 | .0000000 | .0000000 | 1.0000000 |
| 12 | 612.0000000 | 3 | 06-01-1401 | 30 | 600 | .0000000 | .0000000 | .0000000 | 1.0000000 |
| 1 | 701.0000000 | 4 | 06-01-1401 | 40 | 700 | .3333333 | .0000000 | .0000000 | 1.0000000 |
| 1 | 801.0000000 | 4 | 06-01-1401 | 40 | 800 | .0000000 | .0000000 | .0000000 | 1.0000000 |
| (12 rows) |
| |
| -- MAX() function with partition by and order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.dt, TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.qty*cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc,cf_olap_windowerr_sale.cn desc rows between floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.pn) following and unbounded following ); |
| ERROR: frame starting offset must not be negative (seg0 slice1 127.0.0.1:25432 pid=55689) |
| -- MAX() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.cn)) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.vn*cf_olap_windowerr_sale.pn) as int),NULL) OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc rows between floor(cf_olap_windowerr_sale.prc) following and unbounded following ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc); |
| ERROR: division by zero (seg0 slice2 127.0.0.1:25432 pid=55689) |
| -- MIN() function with NULL OVER() clause in combination with other window functions -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999') |
| , |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.pn) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc); |
| pn | prc | vn | cn | prc | qty | to_char | to_char | to_char |
| -----+------+----+----+------+------+-------------------+-------------------+------------------- |
| 100 | 2400 | 40 | 2 | 2400 | 1100 | 120.0000000 | .0000000 | 1.0000000 |
| 200 | 0 | 10 | 1 | 0 | 1 | 120.0000000 | .0000000 | 2.0000000 |
| 200 | 0 | 40 | 3 | 0 | 1 | 120.0000000 | .0000000 | 3.0000000 |
| 100 | 0 | 20 | 1 | 0 | 1 | 120.0000000 | .0000000 | 4.0000000 |
| 300 | 0 | 30 | 1 | 0 | 1 | 120.0000000 | .0000000 | 5.0000000 |
| 400 | 0 | 50 | 1 | 0 | 1 | 120.0000000 | .0000000 | 6.0000000 |
| 400 | 0 | 50 | 2 | 0 | 1 | 120.0000000 | .0000000 | 7.0000000 |
| 500 | 5 | 30 | 1 | 5 | 12 | 120.0000000 | .0000000 | 8.0000000 |
| 500 | 5 | 30 | 3 | 5 | 12 | 120.0000000 | .0000000 | 9.0000000 |
| 600 | 5 | 30 | 3 | 5 | 12 | 120.0000000 | .0000000 | 10.0000000 |
| 700 | 1 | 40 | 4 | 1 | 1 | 120.0000000 | .0000000 | 11.0000000 |
| 800 | 1 | 40 | 4 | 1 | 1 | 120.0000000 | .0000000 | 12.0000000 |
| (12 rows) |
| |
| -- MIN() function with OVER() clause having ONLY PARTITION BY -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.pn); |
| ERROR: division by zero (seg0 slice2 127.0.0.1:25432 pid=55689) |
| -- MIN() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.cn*cf_olap_windowerr_sale.cn) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn desc range between unbounded preceding and floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.vn)::integer preceding ), |
| win2 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc); |
| ERROR: invalid preceding or following size in window function |
| -- MIN() function with ONLY order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.vn*cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn asc range between floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.cn)::integer preceding and floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.pn)::integer following ); |
| ERROR: invalid preceding or following size in window function |
| -- MIN() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.qty)) OVER(order by cf_olap_windowerr_sale.cn desc range between floor(cf_olap_windowerr_sale.pn)::integer preceding and floor(cf_olap_windowerr_sale.qty)::integer following ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.qty) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.qty |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn desc range between floor(cf_olap_windowerr_sale.pn)::integer preceding and floor(cf_olap_windowerr_sale.qty)::integer following ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc), |
| win3 as (partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc); |
| ERROR: division by zero |
| -- MIN() function with ONLY order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.vn desc range between current row and floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.qty)::integer following ); |
| ERROR: invalid preceding or following size in window function |
| -- MIN() function with ONLY order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc,cf_olap_windowerr_sale.cn desc,cf_olap_windowerr_sale.pn desc rows unbounded preceding ); |
| ERROR: division by zero |
| -- MIN() function with ONLY order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc rows current row ); |
| ERROR: division by zero |
| -- MIN() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.dt, TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.qty*cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.vn) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc,cf_olap_windowerr_sale.vn asc,cf_olap_windowerr_sale.cn asc rows between unbounded preceding and unbounded following ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc); |
| dt | to_char | cn | vn | to_char | to_char |
| ------------+-------------------+----+----+-------------------+------------------- |
| 01-01-1401 | 10.0000000 | 2 | 40 | .0000000 | 1.0000000 |
| 03-01-1401 | 10.0000000 | 1 | 10 | 1.0000000 | 2.0000000 |
| 04-01-1401 | 10.0000000 | 3 | 40 | .0000000 | 3.0000000 |
| 05-01-1401 | 10.0000000 | 1 | 20 | .0000000 | 4.0000000 |
| 05-02-1401 | 10.0000000 | 1 | 30 | .0000000 | 5.0000000 |
| 06-01-1401 | 10.0000000 | 1 | 50 | .0000000 | 6.0000000 |
| 06-01-1401 | 10.0000000 | 2 | 50 | .0000000 | 7.0000000 |
| 06-01-1401 | 10.0000000 | 1 | 30 | .0000000 | 8.0000000 |
| 06-01-1401 | 10.0000000 | 3 | 30 | .0000000 | 9.0000000 |
| 06-01-1401 | 10.0000000 | 3 | 30 | .0000000 | 10.0000000 |
| 06-01-1401 | 10.0000000 | 4 | 40 | .0000000 | 11.0000000 |
| 06-01-1401 | 10.0000000 | 4 | 40 | .0000000 | 12.0000000 |
| (12 rows) |
| |
| -- MIN() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.qty+cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.pn) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.qty)) OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc rows between floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.pn) preceding and current row ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc rows between floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.pn) preceding and current row ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc); |
| ERROR: frame starting offset must not be negative |
| -- MIN() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.cn) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.pn)) OVER(order by cf_olap_windowerr_sale.vn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win4),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc,cf_olap_windowerr_sale.vn desc rows between 1 preceding and 2 following ), |
| win2 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc), |
| win3 as (order by cf_olap_windowerr_sale.vn asc), |
| win4 as (order by cf_olap_windowerr_sale.cn asc); |
| ERROR: division by zero |
| -- MIN() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.vn) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.pn*cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.cn desc range unbounded preceding ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc); |
| vn | to_char | cn | qty | to_char | to_char |
| ----+-------------------+----+------+-------------------+------------------- |
| 40 | .0000000 | 2 | 1100 | .0000000 | 1.0000000 |
| 10 | 100.0000000 | 1 | 1 | .0000000 | 8.0000000 |
| 40 | 200.0000000 | 3 | 1 | .0000000 | 3.0000000 |
| 20 | 100.0000000 | 1 | 1 | .0000000 | 8.0000000 |
| 30 | 100.0000000 | 1 | 1 | .0000000 | 8.0000000 |
| 50 | 100.0000000 | 1 | 1 | .0000000 | 8.0000000 |
| 50 | 200.0000000 | 2 | 1 | .0000000 | 4.0000000 |
| 30 | 41.0000000 | 1 | 12 | .0000000 | 3.0000000 |
| 30 | 41.0000000 | 3 | 12 | .0000000 | 2.0000000 |
| 30 | 41.0000000 | 3 | 12 | .0000000 | 2.0000000 |
| 40 | 700.0000000 | 4 | 1 | .0000000 | 2.0000000 |
| 40 | 700.0000000 | 4 | 1 | .0000000 | 2.0000000 |
| (12 rows) |
| |
| -- MIN() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.vn*cf_olap_windowerr_sale.qty)) OVER(partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.cn desc range between floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.cn)::integer preceding and floor(cf_olap_windowerr_sale.pn*cf_olap_windowerr_sale.prc)::integer preceding ),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn AND cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.cn desc range between floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.cn)::integer preceding and floor(cf_olap_windowerr_sale.pn*cf_olap_windowerr_sale.prc)::integer preceding ); |
| ERROR: invalid preceding or following size in window function (seg2 slice1 127.0.0.1:40002 pid=3935) |
| -- MIN() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.pn) as int),NULL) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.pn*cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.prc+cf_olap_windowerr_sale.cn) as int),NULL) OVER(win4),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.vn) as int),NULL) OVER(win5),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc,cf_olap_windowerr_sale.cn desc rows unbounded preceding ), |
| win2 as (order by cf_olap_windowerr_sale.pn desc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc), |
| win4 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc), |
| win5 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc); |
| pn | qty | dt | qty | to_char | cn | vn | to_char | to_char | to_char | to_char |
| -----+------+------------+------+-------------------+----+----+-------------------+-------------------+-------------------+------------------- |
| 100 | 1100 | 01-01-1401 | 1100 | 42.0000000 | 2 | 40 | 1.0000000 | .0000000 | .0000000 | .0000000 |
| 200 | 1 | 03-01-1401 | 1 | 11.0000000 | 1 | 10 | .8333333 | .0000000 | 200.0000000 | -39.0000000 |
| 200 | 1 | 04-01-1401 | 1 | 43.0000000 | 3 | 40 | .8333333 | .0000000 | .0000000 | .0000000 |
| 100 | 1 | 05-01-1401 | 1 | 21.0000000 | 1 | 20 | 1.0000000 | .0000000 | 600.0000000 | .0000000 |
| 300 | 1 | 05-02-1401 | 1 | 31.0000000 | 1 | 30 | .6666667 | .0000000 | 100.0000000 | .0000000 |
| 400 | 1 | 06-01-1401 | 1 | 51.0000000 | 1 | 50 | .5833333 | .0000000 | 300.0000000 | .0000000 |
| 400 | 1 | 06-01-1401 | 1 | 51.0000000 | 2 | 50 | .5833333 | .0000000 | 300.0000000 | .0000000 |
| 500 | 12 | 06-01-1401 | 12 | 31.0000000 | 1 | 30 | .4166667 | .0000000 | 200.0000000 | .0000000 |
| 500 | 12 | 06-01-1401 | 12 | 31.0000000 | 3 | 30 | .4166667 | .0000000 | 200.0000000 | .0000000 |
| 600 | 12 | 06-01-1401 | 12 | 33.0000000 | 3 | 30 | .2500000 | .0000000 | 200.0000000 | .0000000 |
| 700 | 1 | 06-01-1401 | 1 | 44.0000000 | 4 | 40 | .1666667 | .0000000 | 400.0000000 | .0000000 |
| 800 | 1 | 06-01-1401 | 1 | 44.0000000 | 4 | 40 | .0833333 | .0000000 | 800.0000000 | .0000000 |
| (12 rows) |
| |
| -- MIN() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.qty, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.prc) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win4),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.qty*cf_olap_windowerr_sale.prc) as int),NULL) OVER(win5),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc,cf_olap_windowerr_sale.cn desc,cf_olap_windowerr_sale.pn asc rows between unbounded preceding and unbounded following ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc), |
| win3 as (order by cf_olap_windowerr_sale.vn desc), |
| win4 as (order by cf_olap_windowerr_sale.cn desc), |
| win5 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc); |
| ERROR: division by zero (seg0 slice3 127.0.0.1:25432 pid=55689) |
| -- MIN() function with partition by and order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc rows between current row and floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.prc) following ); |
| ERROR: division by zero (seg0 slice2 127.0.0.1:25432 pid=55689) |
| -- MIN() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt, |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.vn)) OVER(order by cf_olap_windowerr_sale.vn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.cn) as int),NULL) OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc rows between current row and 0 following ), |
| win2 as (order by cf_olap_windowerr_sale.vn asc), |
| win3 as (partition by cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc); |
| pn | qty | vn | to_char | prc | cn | dt | to_char | to_char | to_char |
| -----+------+----+-------------------+------+----+------------+-------------------+-------------------+------------------- |
| 100 | 1100 | 40 | 40.0000000 | 2400 | 2 | 01-01-1401 | .5454545 | 80.0000000 | .0000000 |
| 200 | 1 | 10 | 10.0000000 | 0 | 1 | 03-01-1401 | .0000000 | 20.0000000 | 201.0000000 |
| 200 | 1 | 40 | 40.0000000 | 0 | 3 | 04-01-1401 | .5454545 | 80.0000000 | .0000000 |
| 100 | 1 | 20 | 20.0000000 | 0 | 1 | 05-01-1401 | .0909091 | 40.0000000 | 101.0000000 |
| 300 | 1 | 30 | 30.0000000 | 0 | 1 | 05-02-1401 | .1818182 | 60.0000000 | 301.0000000 |
| 400 | 1 | 50 | 50.0000000 | 0 | 1 | 06-01-1401 | .9090909 | 100.0000000 | 401.0000000 |
| 400 | 1 | 50 | 50.0000000 | 0 | 2 | 06-01-1401 | .9090909 | 100.0000000 | 401.0000000 |
| 500 | 12 | 30 | 30.0000000 | 5 | 1 | 06-01-1401 | .1818182 | 60.0000000 | .0000000 |
| 500 | 12 | 30 | 30.0000000 | 5 | 3 | 06-01-1401 | .1818182 | 60.0000000 | .0000000 |
| 600 | 12 | 30 | 30.0000000 | 5 | 3 | 06-01-1401 | .1818182 | 60.0000000 | .0000000 |
| 700 | 1 | 40 | 40.0000000 | 1 | 4 | 06-01-1401 | .5454545 | 80.0000000 | 501.0000000 |
| 800 | 1 | 40 | 40.0000000 | 1 | 4 | 06-01-1401 | .5454545 | 80.0000000 | 503.0000000 |
| (12 rows) |
| |
| -- STDDEV() function with ONLY order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(STDDEV(floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.pn desc range unbounded preceding ); |
| ERROR: division by zero |
| -- STDDEV() function with ONLY order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(STDDEV(floor(cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.vn asc range floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.cn)::integer preceding ); |
| ERROR: invalid preceding or following size in window function |
| -- STDDEV() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(STDDEV(floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(RANK() OVER(partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.pn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.qty+cf_olap_windowerr_sale.cn)) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win4),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.pn asc range between unbounded preceding and current row ), |
| win2 as (order by cf_olap_windowerr_sale.pn asc), |
| win3 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.pn asc), |
| win4 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.cn desc); |
| ERROR: division by zero |
| -- STDDEV() function with ONLY order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(STDDEV(floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn desc range between floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.pn)::integer preceding and 3 following ); |
| ERROR: invalid preceding or following size in window function |
| -- STDDEV() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(STDDEV(floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.vn asc range between floor(cf_olap_windowerr_sale.vn)::integer preceding and unbounded following ), |
| win2 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.pn asc); |
| ERROR: division by zero |
| -- STDDEV() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(STDDEV(floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.prc) as int),NULL) OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc,cf_olap_windowerr_sale.cn asc,cf_olap_windowerr_sale.cn desc rows between current row and floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.cn) following ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc); |
| ERROR: division by zero |
| -- STDDEV() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(STDDEV(floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.prc)) OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc rows between 3 following and floor(cf_olap_windowerr_sale.cn) following ), |
| win2 as (order by cf_olap_windowerr_sale.cn asc); |
| ERROR: division by zero |
| -- STDDEV() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt, TO_CHAR(COALESCE(STDDEV(floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(order by cf_olap_windowerr_sale.pn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.cn)) OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc,cf_olap_windowerr_sale.cn desc rows between floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.pn) following and unbounded following ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc); |
| ERROR: frame starting offset must not be negative |
| -- STDDEV() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(STDDEV(floor(cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.qty) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.qty) as int),NULL) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.cn asc range between unbounded preceding and current row ), |
| win2 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc); |
| vn | pn | cn | cn | qty | cn | to_char | to_char | to_char | to_char |
| ----+-----+----+----+------+----+-------------------+-------------------+-------------------+------------------- |
| 40 | 100 | 2 | 2 | 1100 | 2 | .0000000 | .0000000 | .0000000 | 1.0000000 |
| 10 | 200 | 1 | 1 | 1 | 1 | .0000000 | .0000000 | .0000000 | 2.0000000 |
| 40 | 200 | 3 | 3 | 1 | 3 | .0000000 | .0000000 | .0000000 | 3.0000000 |
| 20 | 100 | 1 | 1 | 1 | 1 | .0000000 | .0000000 | .0000000 | 4.0000000 |
| 30 | 300 | 1 | 1 | 1 | 1 | .0000000 | .0000000 | .0000000 | 5.0000000 |
| 50 | 400 | 1 | 1 | 1 | 1 | .0000000 | 1.0000000 | .0000000 | 6.0000000 |
| 50 | 400 | 2 | 2 | 1 | 2 | .0000000 | .0000000 | .0000000 | 7.0000000 |
| 30 | 500 | 1 | 1 | 12 | 1 | .0000000 | .0000000 | .0000000 | 8.0000000 |
| 30 | 500 | 3 | 3 | 12 | 3 | .0000000 | .0000000 | .0000000 | 9.0000000 |
| 30 | 600 | 3 | 3 | 12 | 3 | .0000000 | .0000000 | .0000000 | 10.0000000 |
| 40 | 700 | 4 | 4 | 1 | 4 | .0000000 | .0000000 | .0000000 | 11.0000000 |
| 40 | 800 | 4 | 4 | 1 | 4 | .0000000 | .0000000 | .0000000 | 12.0000000 |
| (12 rows) |
| |
| -- STDDEV() function with partition by and order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(STDDEV(floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.cn asc range between unbounded preceding and 2 following ); |
| ERROR: division by zero (seg0 slice4 127.0.0.1:25432 pid=55689) |
| -- STDDEV() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(STDDEV(floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc,cf_olap_windowerr_sale.pn asc,cf_olap_windowerr_sale.cn asc rows between unbounded preceding and floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.pn) preceding ), |
| win2 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.vn asc), |
| win3 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc); |
| ERROR: frame ending offset must not be negative (seg1 slice3 127.0.0.1:25433 pid=55690) |
| -- STDDEV() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt, TO_CHAR(COALESCE(STDDEV(floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.qty) as int),NULL) OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc rows between 4 preceding and current row ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc); |
| ERROR: division by zero (seg0 slice4 127.0.0.1:25432 pid=55689) |
| -- STDDEV() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(STDDEV(floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc rows between current row and floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.prc) following ), |
| win2 as (order by cf_olap_windowerr_sale.cn desc); |
| ERROR: division by zero (seg0 slice2 127.0.0.1:25432 pid=55689) |
| -- STDDEV_POP() function with NULL OVER() clause in combination with other window functions -- |
| SELECT cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(STDDEV_POP(floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999') |
| , |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.prc+cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.pn) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.cn)) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.pn) as int),NULL) OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (), |
| win2 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc), |
| win3 as (partition by cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc); |
| prc | cn | prc | pn | qty | to_char | to_char | to_char | to_char | to_char |
| ------+----+------+-----+------+-------------------+-------------------+-------------------+-------------------+------------------- |
| 0 | 1 | 0 | 200 | 1 | 11.1492401 | .0000000 | 1.0000000 | 1.0000000 | .0000000 |
| 0 | 3 | 0 | 200 | 1 | 11.1492401 | .0000000 | 3.0000000 | 2.0000000 | .0000000 |
| 0 | 1 | 0 | 100 | 1 | 11.1492401 | .0000000 | 3.0000000 | 3.0000000 | .0000000 |
| 0 | 1 | 0 | 300 | 1 | 11.1492401 | .0000000 | 3.0000000 | 4.0000000 | .0000000 |
| 0 | 1 | 0 | 400 | 1 | 11.1492401 | .0000000 | 3.0000000 | 5.0000000 | .0000000 |
| 0 | 2 | 0 | 400 | 1 | 11.1492401 | .0000000 | 3.0000000 | 6.0000000 | .0000000 |
| 1 | 4 | 1 | 700 | 1 | 11.1492401 | .0000000 | 4.0000000 | 1.0000000 | .0000000 |
| 1 | 4 | 1 | 800 | 1 | 11.1492401 | .0000000 | 4.0000000 | 2.0000000 | .0000000 |
| 5 | 1 | 5 | 500 | 12 | 11.1492401 | .0000000 | 1.0000000 | 1.0000000 | .0000000 |
| 5 | 3 | 5 | 500 | 12 | 11.1492401 | .0000000 | 3.0000000 | 2.0000000 | .0000000 |
| 5 | 3 | 5 | 600 | 12 | 11.1492401 | .0000000 | 3.0000000 | 3.0000000 | .0000000 |
| 2400 | 2 | 2400 | 100 | 1100 | 11.1492401 | .0000000 | 2.0000000 | 1.0000000 | .0000000 |
| (12 rows) |
| |
| -- STDDEV_POP() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(STDDEV_POP(floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(partition by cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.vn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.qty*cf_olap_windowerr_sale.prc) as int),NULL) OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.dt |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn AND cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.pn desc range between unbounded preceding and current row ), |
| win2 as (partition by cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.vn asc), |
| win3 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc); |
| ERROR: division by zero |
| -- STDDEV_POP() function with ONLY order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(STDDEV_POP(floor(cf_olap_windowerr_sale.qty+cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn desc range between floor(cf_olap_windowerr_sale.vn)::integer preceding and floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.cn)::integer following ); |
| ERROR: invalid preceding or following size in window function |
| -- STDDEV_POP() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(STDDEV_POP(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.qty) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty, |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.vn asc range between current row and floor(cf_olap_windowerr_sale.cn)::integer following ), |
| win2 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc), |
| win3 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.pn asc); |
| ERROR: division by zero |
| -- STDDEV_POP() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(STDDEV_POP(floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.pn) as int),NULL) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win4),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc rows between unbounded preceding and unbounded following ), |
| win2 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.cn desc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc), |
| win4 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc); |
| qty | qty | to_char | vn | to_char | cn | dt | pn | to_char | to_char |
| ------+------+-------------------+----+-------------------+----+------------+-----+-------------------+------------------- |
| 1 | 1 | 440.8305293 | 10 | 1.0000000 | 1 | 03-01-1401 | 200 | .0000000 | 1.0000000 |
| 1 | 1 | 440.8305293 | 20 | 1.0000000 | 1 | 05-01-1401 | 100 | .0000000 | 1.0000000 |
| 1 | 1 | 440.8305293 | 30 | 1.0000000 | 1 | 05-02-1401 | 300 | .0000000 | 1.0000000 |
| 1 | 1 | 440.8305293 | 50 | 1.0000000 | 1 | 06-01-1401 | 400 | .0000000 | 1.0000000 |
| 12 | 12 | 440.8305293 | 30 | 1.0000000 | 1 | 06-01-1401 | 500 | .0000000 | 1.0000000 |
| 1100 | 1100 | 440.8305293 | 40 | 1.0000000 | 2 | 01-01-1401 | 100 | .0000000 | 1.0000000 |
| 1 | 1 | 440.8305293 | 50 | 1.0000000 | 2 | 06-01-1401 | 400 | .0000000 | 1.0000000 |
| 1 | 1 | 440.8305293 | 40 | 1.0000000 | 3 | 04-01-1401 | 200 | .0000000 | 1.0000000 |
| 12 | 12 | 440.8305293 | 30 | 1.0000000 | 3 | 06-01-1401 | 500 | .0000000 | 1.0000000 |
| 12 | 12 | 440.8305293 | 30 | 1.0000000 | 3 | 06-01-1401 | 600 | .0000000 | 1.0000000 |
| 1 | 1 | 440.8305293 | 40 | 1.0000000 | 4 | 06-01-1401 | 700 | .0000000 | 1.0000000 |
| 1 | 1 | 440.8305293 | 40 | 1.0000000 | 4 | 06-01-1401 | 800 | .0000000 | 1.0000000 |
| (12 rows) |
| |
| -- STDDEV_POP() function with partition by and order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(STDDEV_POP(floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.vn desc range between unbounded preceding and floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.qty)::integer preceding ); |
| ERROR: invalid preceding or following size in window function (seg2 slice1 127.0.0.1:40002 pid=3935) |
| -- STDDEV_POP() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(STDDEV_POP(floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty, |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.qty*cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.prc, |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.pn)) OVER(order by cf_olap_windowerr_sale.vn desc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.vn) as int),NULL) OVER(win4),0),'99999999.9999999'),cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.vn asc range between floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.vn)::integer preceding and 1 preceding ), |
| win2 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.cn desc), |
| win3 as (order by cf_olap_windowerr_sale.vn desc), |
| win4 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc); |
| ERROR: invalid preceding or following size in window function (seg1 slice1 127.0.0.1:40001 pid=3934) |
| -- STDDEV_POP() function with partition by and order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(STDDEV_POP(floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.cn asc range between floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.cn)::integer preceding and floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.vn)::integer following ); |
| ERROR: invalid preceding or following size in window function (seg1 slice1 127.0.0.1:40001 pid=3934) |
| -- STDDEV_POP() function with partition by and order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(STDDEV_POP(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc rows between unbounded preceding and floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.qty) preceding ); |
| ERROR: frame ending offset must not be negative (seg0 slice4 127.0.0.1:25432 pid=55689) |
| -- STDDEV_POP() function with partition by and order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(STDDEV_POP(floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.dt |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc,cf_olap_windowerr_sale.cn desc rows between floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.prc) preceding and unbounded following ); |
| ERROR: division by zero (seg0 slice2 127.0.0.1:25432 pid=55689) |
| -- STDDEV_POP() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(STDDEV_POP(floor(cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.prc) as int),NULL) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win4),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.cn)) OVER(partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc,cf_olap_windowerr_sale.cn asc rows between current row and current row ),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc,cf_olap_windowerr_sale.cn asc rows between current row and current row ), |
| win2 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.cn desc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc), |
| win4 as (order by cf_olap_windowerr_sale.pn desc); |
| ERROR: division by zero |
| -- STDDEV_SAMP() function with NULL OVER() clause in combination with other window functions -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(STDDEV_SAMP(floor(cf_olap_windowerr_sale.prc*cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999') |
| , |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.vn) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.prc) as int),NULL) OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt, |
| TO_CHAR(COALESCE(RANK() OVER(win4),0),'99999999.9999999'),cf_olap_windowerr_sale.prc, |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.vn)) OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc), |
| win3 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc), |
| win4 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.vn desc); |
| vn | qty | to_char | to_char | to_char | to_char | cn | dt | to_char | prc | to_char |
| ----+------+-------------------+-------------------+-------------------+-------------------+----+------------+-------------------+------+------------------- |
| 50 | 1 | 27698.9781427 | 2440.0000000 | .0000000 | .0000000 | 1 | 06-01-1401 | 1.0000000 | 0 | 6.0000000 |
| 50 | 1 | 27698.9781427 | 2440.0000000 | .0000000 | .0000000 | 2 | 06-01-1401 | 1.0000000 | 0 | 7.0000000 |
| 40 | 1 | 27698.9781427 | 2440.0000000 | .0000000 | .0000000 | 3 | 04-01-1401 | 3.0000000 | 0 | 3.0000000 |
| 30 | 1 | 27698.9781427 | 2440.0000000 | .0000000 | .0000000 | 1 | 05-02-1401 | 4.0000000 | 0 | 5.0000000 |
| 20 | 1 | 27698.9781427 | 2440.0000000 | .0000000 | .0000000 | 1 | 05-01-1401 | 5.0000000 | 0 | 4.0000000 |
| 10 | 1 | 27698.9781427 | 2440.0000000 | .0000000 | .0000000 | 1 | 03-01-1401 | 6.0000000 | 0 | 2.0000000 |
| 40 | 1 | 27698.9781427 | 2440.0000000 | .0000000 | .0000000 | 4 | 06-01-1401 | 1.0000000 | 1 | 11.0000000 |
| 40 | 1 | 27698.9781427 | 2440.0000000 | .0000000 | .0000000 | 4 | 06-01-1401 | 1.0000000 | 1 | 12.0000000 |
| 30 | 12 | 27698.9781427 | 2440.0000000 | .0000000 | .0000000 | 3 | 06-01-1401 | 1.0000000 | 5 | 10.0000000 |
| 30 | 12 | 27698.9781427 | 2440.0000000 | .0000000 | .0000000 | 3 | 06-01-1401 | 1.0000000 | 5 | 9.0000000 |
| 30 | 12 | 27698.9781427 | 2440.0000000 | .0000000 | .0000000 | 1 | 06-01-1401 | 1.0000000 | 5 | 8.0000000 |
| 40 | 1100 | 27698.9781427 | 2440.0000000 | .0000000 | .0000000 | 2 | 01-01-1401 | 1.0000000 | 2400 | 1.0000000 |
| (12 rows) |
| |
| -- STDDEV_SAMP() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(STDDEV_SAMP(floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.prc+cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.qty) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.vn) as int),NULL) OVER(win4),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.pn desc range between unbounded preceding and current row ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc), |
| win3 as (order by cf_olap_windowerr_sale.pn asc), |
| win4 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc); |
| vn | to_char | pn | to_char | to_char | to_char | to_char | to_char |
| ----+-------------------+-----+-------------------+-------------------+-------------------+-------------------+------------------- |
| 40 | 316.4791630 | 100 | 1.0000000 | .0000000 | 1.0000000 | 1.0000000 | .0000000 |
| 10 | 5.4365021 | 200 | 1.0000000 | 200.0000000 | 2.0000000 | 2.0000000 | 4.0000000 |
| 40 | 5.4365021 | 200 | 1.0000000 | 300.0000000 | 2.0000000 | 3.0000000 | .0000000 |
| 20 | 316.4791630 | 100 | 1.0000000 | 100.0000000 | 1.0000000 | 4.0000000 | .0000000 |
| 30 | 5.8736701 | 300 | 1.0000000 | 300.0000000 | 3.0000000 | 5.0000000 | .0000000 |
| 50 | 6.2297290 | 400 | 1.0000000 | 400.0000000 | 4.0000000 | 6.0000000 | .0000000 |
| 50 | 6.2297290 | 400 | 1.0000000 | 500.0000000 | 4.0000000 | 7.0000000 | .0000000 |
| 30 | 6.9856997 | 500 | 5.0000000 | .0000000 | 5.0000000 | 8.0000000 | .0000000 |
| 30 | 6.9856997 | 500 | 5.0000000 | .0000000 | 5.0000000 | 9.0000000 | .0000000 |
| 30 | 6.9282032 | 600 | 5.0000000 | 100.0000000 | 6.0000000 | 10.0000000 | .0000000 |
| 40 | .0000000 | 700 | 5.0000000 | .0000000 | 7.0000000 | 11.0000000 | .0000000 |
| 40 | .0000000 | 800 | 5.0000000 | .0000000 | 8.0000000 | 12.0000000 | .0000000 |
| (12 rows) |
| |
| -- STDDEV_SAMP() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(STDDEV_SAMP(floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.cn)) OVER(order by cf_olap_windowerr_sale.cn asc range between current row and current row ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.prc+cf_olap_windowerr_sale.vn)) OVER(order by cf_olap_windowerr_sale.cn asc range between current row and current row ),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn asc range between current row and current row ); |
| ERROR: division by zero |
| -- STDDEV_SAMP() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(STDDEV_SAMP(floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.pn*cf_olap_windowerr_sale.prc)) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.prc) as int),NULL) OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.dt, |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win4),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.cn)) OVER(order by cf_olap_windowerr_sale.cn asc range between 2 following and floor(cf_olap_windowerr_sale.vn)::integer following ),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn asc range between 2 following and floor(cf_olap_windowerr_sale.vn)::integer following ), |
| win2 as (order by cf_olap_windowerr_sale.cn desc), |
| win3 as (partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc), |
| win4 as (partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.pn asc); |
| pn | qty | pn | qty | prc | to_char | cn | to_char | to_char | to_char | dt | to_char | vn | to_char |
| -----+------+-----+------+------+-------------------+----+-------------------+-------------------+-------------------+------------+-------------------+----+------------------- |
| 200 | 1 | 200 | 1 | 0 | 2.7386128 | 1 | 4.0000000 | 240000.0000000 | .0000000 | 03-01-1401 | 1.0000000 | 10 | 796.0000000 |
| 200 | 1 | 200 | 1 | 0 | .0000000 | 3 | 2.0000000 | 3000.0000000 | .0000000 | 04-01-1401 | 1.0000000 | 40 | .0000000 |
| 100 | 1 | 100 | 1 | 0 | 2.7386128 | 1 | 4.0000000 | 240000.0000000 | .0000000 | 05-01-1401 | 1.0000000 | 20 | 796.0000000 |
| 300 | 1 | 300 | 1 | 0 | 2.7386128 | 1 | 4.0000000 | 240000.0000000 | .0000000 | 05-02-1401 | 1.0000000 | 30 | 796.0000000 |
| 400 | 1 | 400 | 1 | 0 | 2.7386128 | 1 | 4.0000000 | 240000.0000000 | .0000000 | 06-01-1401 | 1.0000000 | 50 | 796.0000000 |
| 400 | 1 | 400 | 1 | 0 | .0000000 | 2 | 3.0000000 | 240000.0000000 | .0000000 | 06-01-1401 | 1.0000000 | 50 | 796.0000000 |
| 700 | 1 | 700 | 1 | 1 | .0000000 | 4 | 1.0000000 | 800.0000000 | .0000000 | 06-01-1401 | 1.0000000 | 40 | .0000000 |
| 800 | 1 | 800 | 1 | 1 | .0000000 | 4 | 1.0000000 | 800.0000000 | .0000000 | 06-01-1401 | 1.0000000 | 40 | .0000000 |
| 500 | 12 | 500 | 12 | 5 | 2.7386128 | 1 | 4.0000000 | 240000.0000000 | .0000000 | 06-01-1401 | 1.0000000 | 30 | 796.0000000 |
| 500 | 12 | 500 | 12 | 5 | .0000000 | 3 | 2.0000000 | 3000.0000000 | .0000000 | 06-01-1401 | 1.0000000 | 30 | .0000000 |
| 600 | 12 | 600 | 12 | 5 | .0000000 | 3 | 2.0000000 | 3000.0000000 | .0000000 | 06-01-1401 | 1.0000000 | 30 | .0000000 |
| 100 | 1100 | 100 | 1100 | 2400 | .0000000 | 2 | 3.0000000 | 240000.0000000 | .0000000 | 01-01-1401 | 1.0000000 | 40 | 796.0000000 |
| (12 rows) |
| |
| -- STDDEV_SAMP() function with ONLY order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(STDDEV_SAMP(floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc rows floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.vn) preceding ); |
| ERROR: division by zero |
| -- STDDEV_SAMP() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt, TO_CHAR(COALESCE(STDDEV_SAMP(floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.prc) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.prc*cf_olap_windowerr_sale.pn)) OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc,cf_olap_windowerr_sale.cn asc,cf_olap_windowerr_sale.vn desc rows between unbounded preceding and floor(cf_olap_windowerr_sale.vn) preceding ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc); |
| qty | cn | vn | qty | dt | to_char | to_char | to_char | to_char | to_char |
| ------+----+----+------+------------+-------------------+-------------------+-------------------+-------------------+------------------- |
| 1100 | 2 | 40 | 1100 | 01-01-1401 | .0000000 | .0000000 | 240000.0000000 | .0000000 | .0000000 |
| 1 | 1 | 10 | 1 | 03-01-1401 | .0000000 | .0000000 | .0000000 | .0909091 | .0909091 |
| 1 | 3 | 40 | 1 | 04-01-1401 | .0000000 | .0000000 | .0000000 | .1818182 | .1818182 |
| 1 | 1 | 20 | 1 | 05-01-1401 | .0000000 | .0000000 | .0000000 | .2727273 | .2727273 |
| 1 | 1 | 30 | 1 | 05-02-1401 | .0000000 | .0000000 | .0000000 | .3636364 | .3636364 |
| 1 | 1 | 50 | 1 | 06-01-1401 | .0000000 | .0000000 | .0000000 | .4545455 | .4545455 |
| 1 | 2 | 50 | 1 | 06-01-1401 | .0000000 | .0000000 | .0000000 | .5454545 | .5454545 |
| 12 | 1 | 30 | 12 | 06-01-1401 | .0000000 | .0000000 | .0000000 | .6363636 | .6363636 |
| 12 | 3 | 30 | 12 | 06-01-1401 | .0000000 | .0000000 | .0000000 | .7272727 | .7272727 |
| 12 | 3 | 30 | 12 | 06-01-1401 | .0000000 | .0000000 | .0000000 | .8181818 | .8181818 |
| 1 | 4 | 40 | 1 | 06-01-1401 | .0000000 | .0000000 | .0000000 | .9090909 | .9090909 |
| 1 | 4 | 40 | 1 | 06-01-1401 | .0000000 | .0000000 | .0000000 | 1.0000000 | 1.0000000 |
| (12 rows) |
| |
| -- STDDEV_SAMP() function with ONLY order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt, TO_CHAR(COALESCE(STDDEV_SAMP(floor(cf_olap_windowerr_sale.prc*cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc rows between floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.prc) preceding and current row ); |
| ERROR: frame starting offset must not be negative |
| -- STDDEV_SAMP() function with ONLY order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(STDDEV_SAMP(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc rows between 7 following and floor(cf_olap_windowerr_sale.vn) following ); |
| qty | qty | prc | cn | qty | to_char |
| ------+------+------+----+------+------------------- |
| 1100 | 1100 | 2400 | 2 | 1100 | .0000000 |
| 1 | 1 | 0 | 1 | 1 | .0000000 |
| 1 | 1 | 0 | 3 | 1 | .0000000 |
| 1 | 1 | 0 | 1 | 1 | .0000000 |
| 1 | 1 | 0 | 1 | 1 | .0000000 |
| 1 | 1 | 0 | 1 | 1 | .0000000 |
| 1 | 1 | 0 | 2 | 1 | .0000000 |
| 12 | 12 | 5 | 1 | 12 | .0000000 |
| 12 | 12 | 5 | 3 | 12 | .0000000 |
| 12 | 12 | 5 | 3 | 12 | .0000000 |
| 1 | 1 | 1 | 4 | 1 | .0000000 |
| 1 | 1 | 1 | 4 | 1 | .0000000 |
| (12 rows) |
| |
| -- STDDEV_SAMP() function with OVER() clause having PARTITION BY and ORDER BY (without framing) in combination with other window functions -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(STDDEV_SAMP(floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn |
| , |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.vn) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc,cf_olap_windowerr_sale.cn asc,cf_olap_windowerr_sale.vn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.cn asc,cf_olap_windowerr_sale.cn asc,cf_olap_windowerr_sale.vn asc), |
| win2 as (partition by cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc); |
| cn | cn | to_char | dt | vn | pn | to_char | to_char | to_char |
| ----+----+-------------------+------------+----+-----+-------------------+-------------------+------------------- |
| 3 | 3 | .0000000 | 04-01-1401 | 40 | 200 | .0000000 | 1.0000000 | 2.0000000 |
| 1 | 1 | .0000000 | 06-01-1401 | 50 | 400 | .0000000 | 1.0000000 | 1.0000000 |
| 3 | 3 | .0000000 | 06-01-1401 | 30 | 500 | .0000000 | 1.0000000 | 3.0000000 |
| 1 | 1 | .0000000 | 05-02-1401 | 30 | 300 | .0000000 | 1.0000000 | 1.0000000 |
| 1 | 1 | .0000000 | 06-01-1401 | 30 | 500 | .0000000 | 1.0000000 | 2.0000000 |
| 4 | 4 | .0000000 | 06-01-1401 | 40 | 800 | .0000000 | 1.0000000 | 4.0000000 |
| 2 | 2 | .0000000 | 01-01-1401 | 40 | 100 | .0000000 | 1.0000000 | 1.0000000 |
| 1 | 1 | .0000000 | 03-01-1401 | 10 | 200 | .0000000 | 1.0000000 | 1.0000000 |
| 1 | 1 | .0000000 | 05-01-1401 | 20 | 100 | .0000000 | 1.0000000 | 1.0000000 |
| 2 | 2 | .0000000 | 06-01-1401 | 50 | 400 | .0000000 | 1.0000000 | 2.0000000 |
| 3 | 3 | .0000000 | 06-01-1401 | 30 | 600 | .0000000 | 1.0000000 | 4.0000000 |
| 4 | 4 | .0000000 | 06-01-1401 | 40 | 700 | .0000000 | 1.0000000 | 3.0000000 |
| (12 rows) |
| |
| -- STDDEV_SAMP() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(STDDEV_SAMP(floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.qty)) OVER(partition by cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.cn asc range unbounded preceding ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.cn) as int),NULL) OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.cn asc range unbounded preceding ), |
| win2 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.cn asc), |
| win3 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc); |
| pn | cn | vn | prc | to_char | to_char | to_char | to_char |
| -----+----+----+------+-------------------+-------------------+-------------------+------------------- |
| 200 | 1 | 10 | 0 | .0000000 | 201.0000000 | 1.0000000 | .0000000 |
| 100 | 1 | 20 | 0 | .0000000 | 101.0000000 | 1.0000000 | .0000000 |
| 400 | 1 | 50 | 0 | .0000000 | 401.0000000 | 1.0000000 | .0000000 |
| 500 | 3 | 30 | 5 | .0000000 | 512.0000000 | 1.0000000 | .0000000 |
| 600 | 3 | 30 | 5 | .0000000 | 612.0000000 | 1.0000000 | .0000000 |
| 300 | 1 | 30 | 0 | .0000000 | 301.0000000 | 1.0000000 | .0000000 |
| 400 | 2 | 50 | 0 | .0000000 | 401.0000000 | 1.0000000 | .0000000 |
| 200 | 3 | 40 | 0 | .0000000 | 201.0000000 | 1.0000000 | .0000000 |
| 700 | 4 | 40 | 1 | .0000000 | 701.0000000 | 1.0000000 | .0000000 |
| 800 | 4 | 40 | 1 | .0000000 | 801.0000000 | 1.0000000 | .0000000 |
| 500 | 1 | 30 | 5 | .0000000 | 512.0000000 | 1.0000000 | .0000000 |
| 100 | 2 | 40 | 2400 | .0000000 | 101.0000000 | 1.0000000 | .0000000 |
| (12 rows) |
| |
| -- STDDEV_SAMP() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(STDDEV_SAMP(floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.pn) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win4),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.cn desc range between unbounded preceding and current row ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc), |
| win3 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.cn asc), |
| win4 as (partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.vn desc); |
| pn | vn | to_char | prc | cn | to_char | to_char | to_char | to_char | to_char | dt | qty |
| -----+----+-------------------+------+----+-------------------+-------------------+-------------------+-------------------+-------------------+------------+------ |
| 200 | 10 | .0000000 | 0 | 1 | .0000000 | 2.0000000 | 1.0000000 | 2.0000000 | .0000000 | 03-01-1401 | 1 |
| 100 | 20 | .0000000 | 0 | 1 | .0000000 | 4.0000000 | 1.0000000 | 4.0000000 | .0000000 | 05-01-1401 | 1 |
| 300 | 30 | .0000000 | 0 | 1 | .0000000 | 5.0000000 | 1.0000000 | 5.0000000 | .0000000 | 05-02-1401 | 1 |
| 400 | 50 | .0000000 | 0 | 1 | .0000000 | 6.0000000 | 1.0000000 | 6.0000000 | .0000000 | 06-01-1401 | 1 |
| 400 | 50 | .0000000 | 0 | 2 | .0000000 | 7.0000000 | 1.0000000 | 7.0000000 | .0000000 | 06-01-1401 | 1 |
| 200 | 40 | .0000000 | 0 | 3 | .0000000 | 3.0000000 | 1.0000000 | 3.0000000 | .0000000 | 04-01-1401 | 1 |
| 800 | 40 | .0000000 | 1 | 4 | .0000000 | 12.0000000 | 1.0000000 | 12.0000000 | .0000000 | 06-01-1401 | 1 |
| 700 | 40 | .0000000 | 1 | 4 | .0000000 | 11.0000000 | 1.0000000 | 11.0000000 | .0000000 | 06-01-1401 | 1 |
| 500 | 30 | .0000000 | 5 | 1 | .0000000 | 8.0000000 | 1.0000000 | 8.0000000 | .0000000 | 06-01-1401 | 12 |
| 600 | 30 | .0000000 | 5 | 3 | .0000000 | 10.0000000 | 1.0000000 | 10.0000000 | .0000000 | 06-01-1401 | 12 |
| 500 | 30 | .0000000 | 5 | 3 | .0000000 | 9.0000000 | 1.0000000 | 9.0000000 | .0000000 | 06-01-1401 | 12 |
| 100 | 40 | .0000000 | 2400 | 2 | .0000000 | 1.0000000 | 1.0000000 | 1.0000000 | .0000000 | 01-01-1401 | 1100 |
| (12 rows) |
| |
| -- STDDEV_SAMP() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(STDDEV_SAMP(floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty, |
| TO_CHAR(COALESCE(RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.pn) as int),NULL) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.vn desc range between floor(cf_olap_windowerr_sale.qty)::integer following and floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.vn)::integer following ), |
| win2 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.cn desc), |
| win3 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc); |
| ERROR: invalid preceding or following size in window function (seg0 slice2 127.0.0.1:40000 pid=3939) |
| -- STDDEV_SAMP() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(STDDEV_SAMP(floor(cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.prc+cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.pn) as int),NULL) OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.pn asc range between 4 following and unbounded following ), |
| win2 as (partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc); |
| vn | prc | cn | qty | to_char | dt | pn | to_char |
| ----+------+----+------+-------------------+------------+-----+------------------- |
| 10 | 0 | 1 | 1 | .0000000 | 03-01-1401 | 200 | .0000000 |
| 30 | 0 | 1 | 1 | .0000000 | 05-02-1401 | 300 | .0000000 |
| 50 | 0 | 1 | 1 | .0000000 | 06-01-1401 | 400 | .0000000 |
| 50 | 0 | 2 | 1 | .0000000 | 06-01-1401 | 400 | .0000000 |
| 20 | 0 | 1 | 1 | .0000000 | 05-01-1401 | 100 | .0000000 |
| 40 | 0 | 3 | 1 | .0000000 | 04-01-1401 | 200 | .0000000 |
| 40 | 1 | 4 | 1 | .0000000 | 06-01-1401 | 700 | .0000000 |
| 40 | 1 | 4 | 1 | .0000000 | 06-01-1401 | 800 | .0000000 |
| 30 | 5 | 1 | 12 | .0000000 | 06-01-1401 | 500 | .0000000 |
| 30 | 5 | 3 | 12 | .0000000 | 06-01-1401 | 500 | .0000000 |
| 30 | 5 | 3 | 12 | .0000000 | 06-01-1401 | 600 | .0000000 |
| 40 | 2400 | 2 | 1100 | .0000000 | 01-01-1401 | 100 | .0000000 |
| (12 rows) |
| |
| -- STDDEV_SAMP() function with partition by and order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(STDDEV_SAMP(floor(cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc,cf_olap_windowerr_sale.cn desc,cf_olap_windowerr_sale.cn desc rows floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.pn) preceding ); |
| ERROR: frame starting offset must not be negative (seg0 slice4 127.0.0.1:25432 pid=55689) |
| -- STDDEV_SAMP() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(STDDEV_SAMP(floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.cn*cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc,cf_olap_windowerr_sale.vn desc rows between unbounded preceding and floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.vn) following ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc); |
| ERROR: division by zero |
| -- STDDEV_SAMP() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt, TO_CHAR(COALESCE(STDDEV_SAMP(floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.prc, |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.vn)) OVER(partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc rows between 3 preceding and current row ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.prc*cf_olap_windowerr_sale.pn) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.vn)) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc)) OVER(partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc rows between 3 preceding and current row ),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc rows between 3 preceding and current row ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc), |
| win3 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc); |
| ERROR: division by zero (seg0 slice4 127.0.0.1:25432 pid=55689) |
| -- STDDEV_SAMP() function with partition by and order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(STDDEV_SAMP(floor(cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc,cf_olap_windowerr_sale.cn desc,cf_olap_windowerr_sale.vn asc rows between floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.cn) following and floor(cf_olap_windowerr_sale.vn) following ); |
| ERROR: frame starting offset must not be negative (seg0 slice4 127.0.0.1:25432 pid=55689) |
| -- SUM() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt, TO_CHAR(COALESCE(SUM(floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(RANK() OVER(win4),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.pn asc range current row ), |
| win2 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.pn asc), |
| win3 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc), |
| win4 as (order by cf_olap_windowerr_sale.vn asc); |
| ERROR: division by zero |
| -- SUM() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(SUM(floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.prc) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.vn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn asc range between unbounded preceding and current row ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc); |
| qty | to_char | cn | to_char | vn |
| ------+-------------------+----+-------------------+---- |
| 1100 | 230.0000000 | 2 | .0000000 | 40 |
| 1 | 140.0000000 | 1 | 39.0000000 | 10 |
| 1 | 330.0000000 | 3 | .0000000 | 40 |
| 1 | 140.0000000 | 1 | .0000000 | 20 |
| 1 | 140.0000000 | 1 | .0000000 | 30 |
| 1 | 140.0000000 | 1 | .0000000 | 50 |
| 1 | 230.0000000 | 2 | .0000000 | 50 |
| 12 | 140.0000000 | 1 | .0000000 | 30 |
| 12 | 330.0000000 | 3 | .0000000 | 30 |
| 12 | 330.0000000 | 3 | .0000000 | 30 |
| 1 | 410.0000000 | 4 | .0000000 | 40 |
| 1 | 410.0000000 | 4 | .0000000 | 40 |
| (12 rows) |
| |
| -- SUM() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(SUM(floor(cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.prc*cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.cn*cf_olap_windowerr_sale.vn) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.vn)) OVER(partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.qty) as int),NULL) OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn desc range between 2 preceding and floor(cf_olap_windowerr_sale.cn)::integer following ), |
| win2 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc); |
| cn | prc | to_char | to_char | vn | qty | pn | to_char | to_char | to_char | to_char |
| ----+------+-------------------+-------------------+----+------+-----+-------------------+-------------------+-------------------+------------------- |
| 2 | 2400 | 4800.0000000 | .0000000 | 40 | 1100 | 100 | 40.0000000 | 1.0000000 | 1.0000000 | .0000000 |
| 1 | 0 | 3300.0000000 | .0000000 | 10 | 1 | 200 | 10.0000000 | 1.0000000 | 1.0000000 | -98.0000000 |
| 3 | 0 | 4800.0000000 | .0000000 | 40 | 1 | 200 | 40.0000000 | 1.0000000 | 1.0000000 | -199.0000000 |
| 1 | 0 | 3300.0000000 | .0000000 | 20 | 1 | 100 | 20.0000000 | 1.0000000 | 1.0000000 | -197.0000000 |
| 1 | 0 | 3300.0000000 | .0000000 | 30 | 1 | 300 | 30.0000000 | 1.0000000 | 1.0000000 | -99.0000000 |
| 1 | 0 | 3300.0000000 | .0000000 | 50 | 1 | 400 | 50.0000000 | 1.0000000 | 1.0000000 | -299.0000000 |
| 2 | 0 | 4800.0000000 | .0000000 | 50 | 1 | 400 | 50.0000000 | 1.0000000 | 1.0000000 | -399.0000000 |
| 1 | 5 | 3300.0000000 | .0000000 | 30 | 12 | 500 | 30.0000000 | 1.0000000 | 1.0000000 | -98.0000000 |
| 3 | 5 | 4800.0000000 | .0000000 | 30 | 12 | 500 | 30.0000000 | 1.0000000 | 1.0000000 | -199.0000000 |
| 3 | 5 | 4800.0000000 | .0000000 | 30 | 12 | 600 | 30.0000000 | 1.0000000 | 1.0000000 | -197.0000000 |
| 4 | 1 | 4800.0000000 | .0000000 | 40 | 1 | 700 | 40.0000000 | 1.0000000 | 1.0000000 | -696.0000000 |
| 4 | 1 | 4800.0000000 | .0000000 | 40 | 1 | 800 | 40.0000000 | 1.0000000 | 1.0000000 | -796.0000000 |
| (12 rows) |
| |
| -- SUM() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(SUM(floor(cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.prc) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty, |
| TO_CHAR(COALESCE(RANK() OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.cn)) OVER(partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn AND cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn desc range between floor(cf_olap_windowerr_sale.vn)::integer preceding and unbounded following ), |
| win2 as (partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc), |
| win3 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.vn desc); |
| ERROR: division by zero |
| -- SUM() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(SUM(floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.qty+cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.vn) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.dt, |
| TO_CHAR(COALESCE(RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.qty)) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.pn) as int),NULL) OVER(win4),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.pn asc range between 4 following and unbounded following ), |
| win2 as (partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc), |
| win3 as (order by cf_olap_windowerr_sale.vn desc), |
| win4 as (partition by cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc); |
| qty | qty | prc | cn | cn | to_char | pn | to_char | dt | to_char | to_char | vn | to_char | to_char |
| ------+------+------+----+----+-------------------+-----+-------------------+------------+-------------------+-------------------+----+-------------------+------------------- |
| 1100 | 1100 | 2400 | 2 | 2 | 4623.0000000 | 100 | .0000000 | 01-01-1401 | 1.0000000 | 3.0000000 | 40 | .0000000 | .0000000 |
| 1 | 1 | 0 | 1 | 1 | 4623.0000000 | 100 | .0000000 | 05-01-1401 | 1.0000000 | 11.0000000 | 20 | .0000000 | .0000000 |
| 1 | 1 | 0 | 1 | 1 | 4219.0000000 | 200 | .0000000 | 03-01-1401 | 1.0000000 | 12.0000000 | 10 | .0000000 | .0000000 |
| 1 | 1 | 0 | 3 | 3 | 4219.0000000 | 200 | .0000000 | 04-01-1401 | 1.0000000 | 3.0000000 | 40 | .0000000 | .0000000 |
| 1 | 1 | 0 | 1 | 1 | 3918.0000000 | 300 | .0000000 | 05-02-1401 | 1.0000000 | 7.0000000 | 30 | .0000000 | .0000000 |
| 1 | 1 | 0 | 1 | 1 | 3115.0000000 | 400 | .0000000 | 06-01-1401 | 1.0000000 | 1.0000000 | 50 | .0000000 | .0000000 |
| 1 | 1 | 0 | 2 | 2 | 3115.0000000 | 400 | .0000000 | 06-01-1401 | 2.0000000 | 1.0000000 | 50 | .0000000 | .0000000 |
| 12 | 12 | 5 | 1 | 1 | 2111.0000000 | 500 | .0000000 | 06-01-1401 | 1.0000000 | 7.0000000 | 30 | .0000000 | .0000000 |
| 12 | 12 | 5 | 3 | 3 | 2111.0000000 | 500 | .0000000 | 06-01-1401 | 2.0000000 | 7.0000000 | 30 | .0000000 | .0000000 |
| 12 | 12 | 5 | 3 | 3 | 1508.0000000 | 600 | .0000000 | 06-01-1401 | 1.0000000 | 7.0000000 | 30 | .0000000 | .0000000 |
| 1 | 1 | 1 | 4 | 4 | 804.0000000 | 700 | .0000000 | 06-01-1401 | 1.0000000 | 3.0000000 | 40 | .0000000 | .0000000 |
| 1 | 1 | 1 | 4 | 4 | .0000000 | 800 | .0000000 | 06-01-1401 | 1.0000000 | 3.0000000 | 40 | .0000000 | .0000000 |
| (12 rows) |
| |
| -- SUM() function with ONLY order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt, TO_CHAR(COALESCE(SUM(floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc rows between unbounded preceding and unbounded following ); |
| ERROR: division by zero |
| -- SUM() function with ONLY order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(SUM(floor(cf_olap_windowerr_sale.vn*cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc rows between floor(cf_olap_windowerr_sale.qty) preceding and floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc) preceding ); |
| ERROR: division by zero |
| -- SUM() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(SUM(floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.qty) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.vn) as int),NULL) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win4),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win5),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc,cf_olap_windowerr_sale.cn asc,cf_olap_windowerr_sale.vn desc rows between floor(cf_olap_windowerr_sale.prc) preceding and floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.pn) following ), |
| win2 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc), |
| win3 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc), |
| win4 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc, cf_olap_windowerr_sale.pn), |
| win5 as (order by cf_olap_windowerr_sale.pn asc); |
| pn | vn | cn | to_char | to_char | prc | dt | qty | to_char | to_char | to_char | to_char |
| -----+----+----+-------------------+-------------------+------+------------+------+-------------------+-------------------+-------------------+------------------- |
| 100 | 40 | 2 | 1.0000000 | .0000000 | 2400 | 01-01-1401 | 1100 | .0000000 | 1.0000000 | .0000000 | 1.0000000 |
| 100 | 20 | 1 | 1.0000000 | .0000000 | 0 | 05-01-1401 | 1 | .0000000 | 1.0000000 | .0000000 | 1.0000000 |
| 200 | 10 | 1 | 1.0000000 | .0000000 | 0 | 03-01-1401 | 1 | .0000000 | 1.0000000 | .1818182 | 1.0000000 |
| 200 | 40 | 3 | 1.0000000 | .0000000 | 0 | 04-01-1401 | 1 | .0000000 | 1.0000000 | .1818182 | 1.0000000 |
| 300 | 30 | 1 | 1.0000000 | .0000000 | 0 | 05-02-1401 | 1 | .0000000 | 1.0000000 | .3636364 | 1.0000000 |
| 400 | 50 | 1 | 1.0000000 | .0000000 | 0 | 06-01-1401 | 1 | .0000000 | 1.0000000 | .4545455 | 1.0000000 |
| 400 | 50 | 2 | 1.0000000 | .0000000 | 0 | 06-01-1401 | 1 | .0000000 | 2.0000000 | .4545455 | 1.0000000 |
| 500 | 30 | 3 | 6.0000000 | .0000000 | 5 | 06-01-1401 | 12 | .0000000 | 2.0000000 | .6363636 | 1.0000000 |
| 500 | 30 | 1 | 6.0000000 | .0000000 | 5 | 06-01-1401 | 12 | .0000000 | 1.0000000 | .6363636 | 1.0000000 |
| 600 | 30 | 3 | 6.0000000 | .0000000 | 5 | 06-01-1401 | 12 | .0000000 | 3.0000000 | .8181818 | 1.0000000 |
| 700 | 40 | 4 | 2.0000000 | 40.0000000 | 1 | 06-01-1401 | 1 | .0000000 | 1.0000000 | .9090909 | 1.0000000 |
| 800 | 40 | 4 | 2.0000000 | 40.0000000 | 1 | 06-01-1401 | 1 | .0000000 | 2.0000000 | 1.0000000 | 1.0000000 |
| (12 rows) |
| |
| -- SUM() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(SUM(floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.pn) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.cn asc range unbounded preceding ), |
| win2 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc); |
| qty | to_char | prc | cn | dt | to_char | pn | to_char |
| ------+-------------------+------+----+------------+-------------------+-----+------------------- |
| 1 | 80.0000000 | 1 | 4 | 06-01-1401 | .0000000 | 700 | 2.0000000 |
| 1 | 80.0000000 | 1 | 4 | 06-01-1401 | .0000000 | 800 | 2.0000000 |
| 1 | 10.0000000 | 0 | 1 | 03-01-1401 | .0000000 | 200 | 1.0000000 |
| 1 | 40.0000000 | 0 | 3 | 04-01-1401 | .0000000 | 200 | 1.0000000 |
| 1 | 30.0000000 | 0 | 1 | 05-02-1401 | .0000000 | 300 | 1.0000000 |
| 1 | 50.0000000 | 0 | 1 | 06-01-1401 | .0000000 | 400 | 1.0000000 |
| 1 | 100.0000000 | 0 | 2 | 06-01-1401 | .0000000 | 400 | 2.0000000 |
| 12 | 30.0000000 | 5 | 1 | 06-01-1401 | .0000000 | 500 | 1.0000000 |
| 12 | 90.0000000 | 5 | 3 | 06-01-1401 | .0000000 | 500 | 3.0000000 |
| 1 | 20.0000000 | 0 | 1 | 05-01-1401 | .0000000 | 100 | 1.0000000 |
| 12 | 90.0000000 | 5 | 3 | 06-01-1401 | .0000000 | 600 | 3.0000000 |
| 1100 | 40.0000000 | 2400 | 2 | 01-01-1401 | .0000000 | 100 | 1.0000000 |
| (12 rows) |
| |
| -- SUM() function with partition by and order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(SUM(floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.pn asc range between floor(cf_olap_windowerr_sale.qty)::integer preceding and current row ); |
| ERROR: division by zero (seg1 slice3 127.0.0.1:25433 pid=55690) |
| -- SUM() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(SUM(floor(cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.pn*cf_olap_windowerr_sale.qty)) OVER(partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.vn asc range between current row and current row ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.cn) as int),NULL) OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.vn asc range between current row and current row ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc); |
| qty | vn | qty | to_char | pn | to_char | to_char |
| ------+----+------+-------------------+-----+-------------------+------------------- |
| 1100 | 40 | 1100 | 2400.0000000 | 100 | 110000.0000000 | .0000000 |
| 1 | 10 | 1 | .0000000 | 200 | 200.0000000 | 10.0000000 |
| 1 | 40 | 1 | .0000000 | 200 | 200.0000000 | 40.0000000 |
| 1 | 20 | 1 | .0000000 | 100 | 100.0000000 | 20.0000000 |
| 1 | 30 | 1 | .0000000 | 300 | 300.0000000 | 30.0000000 |
| 1 | 50 | 1 | .0000000 | 400 | 400.0000000 | 50.0000000 |
| 1 | 50 | 1 | .0000000 | 400 | 400.0000000 | 50.0000000 |
| 12 | 30 | 12 | 10.0000000 | 500 | 6000.0000000 | .0000000 |
| 12 | 30 | 12 | 10.0000000 | 500 | 6000.0000000 | .0000000 |
| 12 | 30 | 12 | 5.0000000 | 600 | 7200.0000000 | .0000000 |
| 1 | 40 | 1 | 1.0000000 | 700 | 700.0000000 | 30.0000000 |
| 1 | 40 | 1 | 1.0000000 | 800 | 800.0000000 | 30.0000000 |
| (12 rows) |
| |
| -- SUM() function with partition by and order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt, TO_CHAR(COALESCE(SUM(floor(cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.pn asc range between floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc)::integer following and unbounded following ); |
| ERROR: division by zero (seg0 slice2 127.0.0.1:25432 pid=55689) |
| -- SUM() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(SUM(floor(cf_olap_windowerr_sale.prc+cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.pn) as int),NULL) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc,cf_olap_windowerr_sale.pn asc rows floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.cn) preceding ), |
| win2 as (order by cf_olap_windowerr_sale.cn desc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc); |
| ERROR: frame starting offset must not be negative (seg0 slice2 127.0.0.1:25432 pid=55689) |
| -- SUM() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(SUM(floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.vn) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.qty) as int),NULL) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.vn)) OVER(partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc,cf_olap_windowerr_sale.vn asc rows between unbounded preceding and 2 following ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn AND cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc,cf_olap_windowerr_sale.vn asc rows between unbounded preceding and 2 following ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc); |
| dt | pn | prc | to_char | vn | to_char | cn | to_char | to_char | to_char |
| ------------+-----+------+-------------------+----+-------------------+----+-------------------+-------------------+------------------- |
| 01-01-1401 | 100 | 2400 | 2300.0000000 | 40 | .0000000 | 2 | .0000000 | 1060.0000000 | .0000000 |
| 03-01-1401 | 200 | 0 | -200.0000000 | 10 | .0000000 | 1 | .0000000 | -9.0000000 | .0909091 |
| 04-01-1401 | 200 | 0 | -200.0000000 | 40 | .0000000 | 3 | .0000000 | -39.0000000 | .1818182 |
| 05-01-1401 | 100 | 0 | -100.0000000 | 20 | .0000000 | 1 | .0000000 | -19.0000000 | .2727273 |
| 05-02-1401 | 300 | 0 | -300.0000000 | 30 | .0000000 | 1 | .0000000 | -29.0000000 | .3636364 |
| 06-01-1401 | 400 | 0 | -800.0000000 | 50 | .0000000 | 1 | .0000000 | -49.0000000 | .4545455 |
| 06-01-1401 | 400 | 0 | -800.0000000 | 50 | .0000000 | 2 | .0000000 | -49.0000000 | .5454545 |
| 06-01-1401 | 500 | 5 | -1585.0000000 | 30 | .0000000 | 1 | .0000000 | -18.0000000 | .6363636 |
| 06-01-1401 | 500 | 5 | -1585.0000000 | 30 | .0000000 | 3 | .0000000 | -18.0000000 | .7272727 |
| 06-01-1401 | 600 | 5 | -1585.0000000 | 30 | .0000000 | 3 | .0000000 | -18.0000000 | .8181818 |
| 06-01-1401 | 700 | 1 | -1498.0000000 | 40 | .0000000 | 4 | .0000000 | -39.0000000 | .9090909 |
| 06-01-1401 | 800 | 1 | -1498.0000000 | 40 | .0000000 | 4 | .0000000 | -39.0000000 | 1.0000000 |
| (12 rows) |
| |
| -- SUM() function with partition by and order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(SUM(floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc rows between floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.cn) preceding and current row ); |
| ERROR: division by zero (seg0 slice4 127.0.0.1:25432 pid=55689) |
| -- SUM() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(SUM(floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc rows between current row and current row ); |
| ERROR: division by zero (seg0 slice3 127.0.0.1:25432 pid=55689) |
| -- VAR_POP() function with ONLY order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(VAR_POP(floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn desc range 0 preceding ); |
| ERROR: division by zero |
| -- VAR_POP() function with ONLY order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(VAR_POP(floor(cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn desc range between floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.prc)::integer preceding and floor(cf_olap_windowerr_sale.cn)::integer preceding ); |
| ERROR: division by zero |
| -- VAR_POP() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(VAR_POP(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.pn) as int),NULL) OVER(win4),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn desc range between floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.prc)::integer preceding and 4 preceding ), |
| win2 as (order by cf_olap_windowerr_sale.vn asc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc), |
| win4 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc); |
| ERROR: division by zero |
| -- VAR_POP() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(VAR_POP(floor(cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.vn*cf_olap_windowerr_sale.cn) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.prc) as int),NULL) OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.dt, |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn desc range between floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.vn)::integer preceding and 4 following ), |
| win2 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc), |
| win3 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc); |
| ERROR: invalid preceding or following size in window function |
| -- VAR_POP() function with ONLY order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(VAR_POP(floor(cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn desc range between floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.prc)::integer preceding and floor(cf_olap_windowerr_sale.cn)::integer preceding ); |
| ERROR: division by zero |
| -- VAR_POP() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(VAR_POP(floor(cf_olap_windowerr_sale.qty+cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.pn) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.prc)) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.cn)) OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc rows between unbounded preceding and floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.qty) preceding ),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc rows between unbounded preceding and floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.qty) preceding ), |
| win2 as (partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc); |
| ERROR: frame ending offset must not be negative |
| -- VAR_POP() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(VAR_POP(floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.dt, |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.qty)) OVER(partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.vn desc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.qty) as int),NULL) OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc rows between floor(cf_olap_windowerr_sale.pn) preceding and current row ), |
| win2 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.vn desc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc); |
| pn | pn | vn | cn | qty | to_char | to_char | dt | to_char | to_char |
| -----+-----+----+----+------+-------------------+-------------------+------------+-------------------+------------------- |
| 100 | 100 | 40 | 2 | 1100 | .0000000 | 1.0000000 | 01-01-1401 | 1140.0000000 | .0000000 |
| 200 | 200 | 10 | 1 | 1 | 225.0000000 | 1.0000000 | 03-01-1401 | 11.0000000 | 1100.0000000 |
| 200 | 200 | 40 | 3 | 1 | 200.0000000 | 1.0000000 | 04-01-1401 | 41.0000000 | 1.0000000 |
| 100 | 100 | 20 | 1 | 1 | 168.7500000 | 1.0000000 | 05-01-1401 | 21.0000000 | 1.0000000 |
| 300 | 300 | 30 | 1 | 1 | 136.0000000 | 1.0000000 | 05-02-1401 | 31.0000000 | 1.0000000 |
| 400 | 400 | 50 | 1 | 1 | 180.5555556 | 1.0000000 | 06-01-1401 | 51.0000000 | 1.0000000 |
| 400 | 400 | 50 | 2 | 1 | 195.9183673 | 1.0000000 | 06-01-1401 | 51.0000000 | 1.0000000 |
| 500 | 500 | 30 | 1 | 12 | 173.4375000 | 1.0000000 | 06-01-1401 | 42.0000000 | 1100.0000000 |
| 500 | 500 | 30 | 3 | 12 | 155.5555556 | 1.0000000 | 06-01-1401 | 42.0000000 | 1.0000000 |
| 600 | 600 | 30 | 3 | 12 | 141.0000000 | 1.0000000 | 06-01-1401 | 42.0000000 | 1.0000000 |
| 700 | 700 | 40 | 4 | 1 | 132.2314050 | 1.0000000 | 06-01-1401 | 41.0000000 | 1.0000000 |
| 800 | 800 | 40 | 4 | 1 | 124.3055556 | 1.0000000 | 06-01-1401 | 41.0000000 | 1.0000000 |
| (12 rows) |
| |
| -- VAR_POP() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(VAR_POP(floor(cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.cn) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.prc) as int),NULL) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win4),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.vn*cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.qty) as int),NULL) OVER(win5),0),'99999999.9999999'),cf_olap_windowerr_sale.prc, |
| TO_CHAR(COALESCE(RANK() OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn AND cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc,cf_olap_windowerr_sale.cn desc,cf_olap_windowerr_sale.vn asc rows between 2 preceding and unbounded following ), |
| win2 as (partition by cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc), |
| win4 as (order by cf_olap_windowerr_sale.pn asc), |
| win5 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc); |
| ERROR: division by zero |
| -- VAR_POP() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(VAR_POP(floor(cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.prc) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.dt, |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.qty)) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.pn desc range between 0 preceding and floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.qty)::integer following ), |
| win2 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc); |
| ERROR: invalid preceding or following size in window function (seg0 slice1 127.0.0.1:40000 pid=19828) |
| -- VAR_POP() function with partition by and order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.dt, TO_CHAR(COALESCE(VAR_POP(floor(cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.vn desc range between current row and floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.qty)::integer following ); |
| ERROR: invalid preceding or following size in window function (seg1 slice1 127.0.0.1:40001 pid=19829) |
| -- VAR_POP() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(VAR_POP(floor(cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.qty)) OVER(partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.cn asc range between current row and 1 following ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.vn) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.cn asc range between current row and 1 following ), |
| win2 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc); |
| qty | cn | prc | pn | to_char | dt | vn | to_char | to_char | to_char | to_char |
| ------+----+------+-----+-------------------+------------+----+-------------------+-------------------+-------------------+------------------- |
| 1 | 1 | 0 | 100 | .0000000 | 05-01-1401 | 20 | 1.0000000 | 1.0000000 | .0000000 | 1.0000000 |
| 1100 | 2 | 2400 | 100 | .0000000 | 01-01-1401 | 40 | 1.0000000 | 1100.0000000 | .0000000 | 1.0000000 |
| 1 | 3 | 0 | 200 | .0000000 | 04-01-1401 | 40 | 1.0000000 | 1.0000000 | .0000000 | 1.0000000 |
| 1 | 1 | 0 | 300 | .0000000 | 05-02-1401 | 30 | 1.0000000 | 1.0000000 | .0000000 | 1.0000000 |
| 1 | 4 | 1 | 700 | .0000000 | 06-01-1401 | 40 | 1.0000000 | 1.0000000 | .0000000 | 1.0000000 |
| 1 | 4 | 1 | 800 | .0000000 | 06-01-1401 | 40 | 1.0000000 | 1.0000000 | .0000000 | 1.0000000 |
| 1 | 1 | 0 | 200 | .0000000 | 03-01-1401 | 10 | 1.0000000 | 1.0000000 | .0000000 | 1.0000000 |
| 1 | 1 | 0 | 400 | .0000000 | 06-01-1401 | 50 | 1.0000000 | 1.0000000 | .0000000 | 1.0000000 |
| 12 | 1 | 5 | 500 | .0000000 | 06-01-1401 | 30 | 1.0000000 | 12.0000000 | .0000000 | 1.0000000 |
| 1 | 2 | 0 | 400 | .0000000 | 06-01-1401 | 50 | 1.0000000 | 1.0000000 | .0000000 | 1.0000000 |
| 12 | 3 | 5 | 500 | .0000000 | 06-01-1401 | 30 | 1.0000000 | 12.0000000 | .0000000 | 1.0000000 |
| 12 | 3 | 5 | 600 | .0000000 | 06-01-1401 | 30 | 1.0000000 | 12.0000000 | .0000000 | 1.0000000 |
| (12 rows) |
| |
| -- VAR_POP() function with partition by and order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(VAR_POP(floor(cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc rows between unbounded preceding and floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.cn) following ); |
| ERROR: frame ending offset must not be negative (seg0 slice2 127.0.0.1:25432 pid=55689) |
| -- VAR_POP() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt, TO_CHAR(COALESCE(VAR_POP(floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.vn) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc rows between 4 preceding and current row ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc); |
| qty | dt | to_char | prc | cn | vn | pn | to_char | to_char | to_char |
| ------+------------+-------------------+------+----+----+-----+-------------------+-------------------+------------------- |
| 1100 | 01-01-1401 | .0000000 | 2400 | 2 | 40 | 100 | .0000000 | 1.0000000 | .0833333 |
| 1 | 03-01-1401 | .0000000 | 0 | 1 | 10 | 200 | .0000000 | 2.0000000 | .1666667 |
| 1 | 04-01-1401 | .0000000 | 0 | 3 | 40 | 200 | .0000000 | 3.0000000 | .2500000 |
| 1 | 05-01-1401 | .0000000 | 0 | 1 | 20 | 100 | .0000000 | 4.0000000 | .3333333 |
| 1 | 05-02-1401 | .0000000 | 0 | 1 | 30 | 300 | .0000000 | 5.0000000 | .4166667 |
| 1 | 06-01-1401 | .0000000 | 0 | 1 | 50 | 400 | .0000000 | 6.0000000 | .5000000 |
| 1 | 06-01-1401 | .0000000 | 0 | 2 | 50 | 400 | .0000000 | 7.0000000 | .5833333 |
| 12 | 06-01-1401 | .0000000 | 5 | 1 | 30 | 500 | .0000000 | 8.0000000 | .6666667 |
| 12 | 06-01-1401 | .0000000 | 5 | 3 | 30 | 500 | .0000000 | 9.0000000 | .7500000 |
| 12 | 06-01-1401 | .0000000 | 5 | 3 | 30 | 600 | .0000000 | 10.0000000 | .8333333 |
| 1 | 06-01-1401 | .0000000 | 1 | 4 | 40 | 700 | .0000000 | 11.0000000 | .9166667 |
| 1 | 06-01-1401 | .0000000 | 1 | 4 | 40 | 800 | .0000000 | 12.0000000 | 1.0000000 |
| (12 rows) |
| |
| -- VAR_POP() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(VAR_POP(floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.qty)) OVER(partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc rows between floor(cf_olap_windowerr_sale.pn) preceding and floor(cf_olap_windowerr_sale.cn) following ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc rows between floor(cf_olap_windowerr_sale.pn) preceding and floor(cf_olap_windowerr_sale.cn) following ), |
| win2 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.cn asc), |
| win3 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.pn asc); |
| ERROR: division by zero (seg0 slice2 127.0.0.1:25432 pid=55700) |
| -- VAR_POP() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(VAR_POP(floor(cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.prc, |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.prc+cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.cn) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.qty+cf_olap_windowerr_sale.vn) as int),NULL) OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.qty, |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.qty)) OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn AND cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc,cf_olap_windowerr_sale.vn asc rows between current row and unbounded following ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc), |
| win3 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc); |
| ERROR: division by zero (seg0 slice5 127.0.0.1:25432 pid=55689) |
| -- VAR_SAMP() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(VAR_SAMP(floor(cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.qty*cf_olap_windowerr_sale.cn) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.cn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.pn desc range floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.qty)::integer preceding ), |
| win2 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc); |
| ERROR: invalid preceding or following size in window function |
| -- VAR_SAMP() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(VAR_SAMP(floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.qty*cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.cn) as int),NULL) OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.pn asc range between unbounded preceding and unbounded following ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc); |
| qty | pn | pn | vn | to_char | to_char |
| ------+-----+-----+----+-------------------+------------------- |
| 1100 | 100 | 100 | 40 | 1.4242424 | .0000000 |
| 1 | 200 | 200 | 10 | 1.4242424 | 10.0000000 |
| 1 | 200 | 200 | 40 | 1.4242424 | 30.0000000 |
| 1 | 100 | 100 | 20 | 1.4242424 | 20.0000000 |
| 1 | 300 | 300 | 30 | 1.4242424 | 30.0000000 |
| 1 | 400 | 400 | 50 | 1.4242424 | 50.0000000 |
| 1 | 400 | 400 | 50 | 1.4242424 | 360.0000000 |
| 12 | 500 | 500 | 30 | 1.4242424 | .0000000 |
| 12 | 500 | 500 | 30 | 1.4242424 | .0000000 |
| 12 | 600 | 600 | 30 | 1.4242424 | 44000.0000000 |
| 1 | 700 | 700 | 40 | 1.4242424 | .0000000 |
| 1 | 800 | 800 | 40 | 1.4242424 | .0000000 |
| (12 rows) |
| |
| -- VAR_SAMP() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(VAR_SAMP(floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.prc)) OVER(order by cf_olap_windowerr_sale.cn desc range between floor(cf_olap_windowerr_sale.cn)::integer preceding and floor(cf_olap_windowerr_sale.vn)::integer preceding ),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn desc range between floor(cf_olap_windowerr_sale.cn)::integer preceding and floor(cf_olap_windowerr_sale.vn)::integer preceding ), |
| win2 as (order by cf_olap_windowerr_sale.cn asc); |
| cn | vn | cn | to_char | to_char | to_char | to_char | to_char |
| ----+----+----+-------------------+-------------------+-------------------+-------------------+------------------- |
| 1 | 30 | 1 | .0000000 | .0000000 | .0000000 | .0000000 | .0000000 |
| 1 | 50 | 1 | .0000000 | .0000000 | .0000000 | .0000000 | .0000000 |
| 1 | 30 | 1 | .0000000 | .0000000 | .0000000 | .0000000 | .0000000 |
| 1 | 10 | 1 | .0000000 | .0000000 | .0000000 | .0000000 | .0000000 |
| 1 | 20 | 1 | .0000000 | .0000000 | .0000000 | .0000000 | .0000000 |
| 2 | 50 | 2 | .0000000 | .0000000 | .0000000 | .4545455 | .0000000 |
| 2 | 40 | 2 | .0000000 | .0000000 | .0000000 | .4545455 | .0000000 |
| 3 | 30 | 3 | .0000000 | .0000000 | .0000000 | .6363636 | .0000000 |
| 3 | 30 | 3 | .0000000 | .0000000 | .0000000 | .6363636 | .0000000 |
| 3 | 40 | 3 | .0000000 | .0000000 | .0000000 | .6363636 | .0000000 |
| 4 | 40 | 4 | .0000000 | .0000000 | .0000000 | .9090909 | .0000000 |
| 4 | 40 | 4 | .0000000 | .0000000 | .0000000 | .9090909 | .0000000 |
| (12 rows) |
| |
| -- VAR_SAMP() function with ONLY order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(VAR_SAMP(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.vn desc range between floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.prc)::integer preceding and unbounded following ); |
| ERROR: invalid preceding or following size in window function |
| -- VAR_SAMP() function with ONLY order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(VAR_SAMP(floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc,cf_olap_windowerr_sale.vn asc,cf_olap_windowerr_sale.pn desc rows between floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.qty) preceding and floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.pn) preceding ); |
| ERROR: frame starting offset must not be negative |
| -- VAR_SAMP() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(VAR_SAMP(floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.dt, |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.vn) as int),NULL) OVER(win4),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc rows between floor(cf_olap_windowerr_sale.prc+cf_olap_windowerr_sale.cn) preceding and 1 preceding ), |
| win2 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.cn asc), |
| win3 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.vn asc), |
| win4 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc); |
| ERROR: division by zero |
| -- VAR_SAMP() function with ONLY order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(VAR_SAMP(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc rows between 8 following and unbounded following ); |
| prc | qty | qty | pn | qty | to_char | vn |
| ------+------+------+-----+------+-------------------+---- |
| 2400 | 1100 | 1100 | 100 | 1100 | .0000000 | 40 |
| 0 | 1 | 1 | 200 | 1 | .0000000 | 10 |
| 0 | 1 | 1 | 200 | 1 | .0000000 | 40 |
| 0 | 1 | 1 | 100 | 1 | .0000000 | 20 |
| 0 | 1 | 1 | 300 | 1 | .0000000 | 30 |
| 0 | 1 | 1 | 400 | 1 | .0000000 | 50 |
| 0 | 1 | 1 | 400 | 1 | .0000000 | 50 |
| 5 | 12 | 12 | 500 | 12 | .0000000 | 30 |
| 5 | 12 | 12 | 500 | 12 | .0000000 | 30 |
| 5 | 12 | 12 | 600 | 12 | .0000000 | 30 |
| 1 | 1 | 1 | 700 | 1 | .0000000 | 40 |
| 1 | 1 | 1 | 800 | 1 | .0000000 | 40 |
| (12 rows) |
| |
| -- VAR_SAMP() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(VAR_SAMP(floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.cn*cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.prc) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.prc) as int),NULL) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.vn*cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc,cf_olap_windowerr_sale.vn desc rows between 4 following and unbounded following ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc), |
| win3 as (partition by cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc); |
| ERROR: division by zero |
| -- VAR_SAMP() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(VAR_SAMP(floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(order by cf_olap_windowerr_sale.cn desc),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.cn asc range floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.pn)::integer preceding ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc); |
| ERROR: invalid preceding or following size in window function |
| -- VAR_SAMP() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(VAR_SAMP(floor(cf_olap_windowerr_sale.vn*cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(order by cf_olap_windowerr_sale.pn asc),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.vn desc range between floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc)::integer preceding and current row ), |
| win2 as (order by cf_olap_windowerr_sale.pn asc); |
| ERROR: division by zero (seg0 slice3 127.0.0.1:25432 pid=55689) |
| -- VAR_SAMP() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(VAR_SAMP(floor(cf_olap_windowerr_sale.pn*cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.qty)) OVER(partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.pn desc range between current row and unbounded following ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.prc) as int),NULL) OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.pn desc range between current row and unbounded following ), |
| win2 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.pn asc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc); |
| ERROR: division by zero |
| -- VAR_SAMP() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(VAR_SAMP(floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.qty)) OVER(partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc,cf_olap_windowerr_sale.pn asc,cf_olap_windowerr_sale.vn desc rows unbounded preceding ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.qty) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.qty)) OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc,cf_olap_windowerr_sale.pn asc,cf_olap_windowerr_sale.vn desc rows unbounded preceding ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc), |
| win3 as (order by cf_olap_windowerr_sale.pn asc); |
| cn | qty | qty | dt | qty | cn | to_char | vn | pn | to_char | to_char | to_char | to_char | to_char |
| ----+------+------+------------+------+----+-------------------+----+-----+-------------------+-------------------+-------------------+-------------------+------------------- |
| 1 | 1 | 1 | 05-01-1401 | 1 | 1 | .0000000 | 20 | 100 | 1.0000000 | .0000000 | .2727273 | 1.0000000 | .0000000 |
| 2 | 1100 | 1100 | 01-01-1401 | 1100 | 2 | .0000000 | 40 | 100 | 1.0000000 | .0000000 | .0000000 | 1.0000000 | .0000000 |
| 3 | 1 | 1 | 04-01-1401 | 1 | 3 | .0000000 | 40 | 200 | 1.0000000 | .0000000 | .1818182 | 2.0000000 | .0000000 |
| 1 | 1 | 1 | 03-01-1401 | 1 | 1 | .0000000 | 10 | 200 | 1.0000000 | .0000000 | .0909091 | 2.0000000 | .0000000 |
| 1 | 1 | 1 | 05-02-1401 | 1 | 1 | .0000000 | 30 | 300 | 1.0000000 | .0000000 | .3636364 | 3.0000000 | .0000000 |
| 2 | 1 | 1 | 06-01-1401 | 1 | 2 | .0000000 | 50 | 400 | 1.0000000 | .0000000 | .5454545 | 4.0000000 | .0000000 |
| 1 | 1 | 1 | 06-01-1401 | 1 | 1 | .0000000 | 50 | 400 | 1.0000000 | .0000000 | .4545455 | 4.0000000 | .0000000 |
| 1 | 12 | 12 | 06-01-1401 | 12 | 1 | .0000000 | 30 | 500 | 2.0000000 | .0000000 | .6363636 | 5.0000000 | .0000000 |
| 3 | 12 | 12 | 06-01-1401 | 12 | 3 | .0000000 | 30 | 500 | 1.0000000 | .0000000 | .7272727 | 5.0000000 | .0000000 |
| 3 | 12 | 12 | 06-01-1401 | 12 | 3 | .0000000 | 30 | 600 | 2.0000000 | .0000000 | .8181818 | 6.0000000 | .0000000 |
| 4 | 1 | 1 | 06-01-1401 | 1 | 4 | .0000000 | 40 | 700 | 1.0000000 | .0000000 | .9090909 | 7.0000000 | .0000000 |
| 4 | 1 | 1 | 06-01-1401 | 1 | 4 | .0000000 | 40 | 800 | 2.0000000 | .0000000 | 1.0000000 | 8.0000000 | .0000000 |
| (12 rows) |
| |
| -- VAR_SAMP() function with partition by and order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(VAR_SAMP(floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc,cf_olap_windowerr_sale.pn desc rows floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.vn) preceding ); |
| ERROR: frame starting offset must not be negative (seg1 slice2 127.0.0.1:25433 pid=55690) |
| -- VAR_SAMP() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(VAR_SAMP(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.qty) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.pn)) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.prc)) OVER(order by cf_olap_windowerr_sale.vn desc),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc,cf_olap_windowerr_sale.pn asc,cf_olap_windowerr_sale.pn desc rows between 0 preceding and current row ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc), |
| win3 as (order by cf_olap_windowerr_sale.vn desc); |
| ERROR: division by zero (seg0 slice3 127.0.0.1:25432 pid=55689) |
| -- VAR_SAMP() function with partition by and order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(VAR_SAMP(floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc,cf_olap_windowerr_sale.pn desc rows between current row and 9 following ); |
| ERROR: division by zero (seg0 slice3 127.0.0.1:25432 pid=55689) |
| -- VAR_SAMP() function with partition by and order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(VAR_SAMP(floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc rows between floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.qty) following and unbounded following ); |
| ERROR: frame starting offset must not be negative (seg2 slice2 127.0.0.1:25434 pid=55691) |
| -- VARIANCE() function with NULL OVER() clause in combination with other window functions -- |
| SELECT cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(VARIANCE(floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999') |
| , |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.prc*cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.prc+cf_olap_windowerr_sale.prc)) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.vn) as int),NULL) OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (), |
| win2 as (order by cf_olap_windowerr_sale.cn desc), |
| win3 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc); |
| dt | pn | to_char | to_char | to_char | cn | to_char | to_char |
| ------------+-----+-------------------+-------------------+-------------------+----+-------------------+------------------- |
| 01-01-1401 | 100 | 479459.6590909 | 240000.0000000 | 3.0000000 | 2 | 7.0000000 | .0000000 |
| 03-01-1401 | 200 | 479459.6590909 | 240000.0000000 | 4.0000000 | 1 | 12.0000000 | .0000000 |
| 04-01-1401 | 200 | 479459.6590909 | 240000.0000000 | 2.0000000 | 3 | 5.0000000 | .0000000 |
| 05-01-1401 | 100 | 479459.6590909 | 240000.0000000 | 4.0000000 | 1 | 12.0000000 | .0000000 |
| 05-02-1401 | 300 | 479459.6590909 | 240000.0000000 | 4.0000000 | 1 | 12.0000000 | .0000000 |
| 06-01-1401 | 400 | 479459.6590909 | 240000.0000000 | 4.0000000 | 1 | 12.0000000 | .0000000 |
| 06-01-1401 | 500 | 479459.6590909 | 240000.0000000 | 4.0000000 | 1 | 12.0000000 | .0000000 |
| 06-01-1401 | 400 | 479459.6590909 | 240000.0000000 | 3.0000000 | 2 | 7.0000000 | .0000000 |
| 06-01-1401 | 500 | 479459.6590909 | 240000.0000000 | 2.0000000 | 3 | 5.0000000 | .0000000 |
| 06-01-1401 | 600 | 479459.6590909 | 240000.0000000 | 2.0000000 | 3 | 5.0000000 | .0000000 |
| 06-01-1401 | 700 | 479459.6590909 | 240000.0000000 | 1.0000000 | 4 | 2.0000000 | .0000000 |
| 06-01-1401 | 800 | 479459.6590909 | 240000.0000000 | 1.0000000 | 4 | 2.0000000 | .0000000 |
| (12 rows) |
| |
| -- VARIANCE() function with OVER() clause having ONLY PARTITION BY in combination with other window functions -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(VARIANCE(floor(cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.prc |
| , |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.qty) as int),NULL) OVER(win4),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win5),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win4),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.prc), |
| win2 as (order by cf_olap_windowerr_sale.pn asc), |
| win3 as (order by cf_olap_windowerr_sale.pn asc), |
| win4 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc), |
| win5 as (order by cf_olap_windowerr_sale.pn desc); |
| ERROR: division by zero |
| -- VARIANCE() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(VARIANCE(floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.cn) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.cn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.vn desc range between floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.qty)::integer preceding and floor(cf_olap_windowerr_sale.vn)::integer preceding ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc); |
| ERROR: invalid preceding or following size in window function |
| -- VARIANCE() function with ONLY order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(VARIANCE(floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.pn desc range between 2 preceding and current row ); |
| ERROR: division by zero |
| -- VARIANCE() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(VARIANCE(floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.vn*cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.vn)) OVER(order by cf_olap_windowerr_sale.pn asc range between floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.prc)::integer preceding and current row ),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.pn asc range between floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.prc)::integer preceding and current row ); |
| ERROR: invalid preceding or following size in window function |
| -- VARIANCE() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt, TO_CHAR(COALESCE(VARIANCE(floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.cn)) OVER(order by cf_olap_windowerr_sale.pn desc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.pn) as int),NULL) OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn AND cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.vn asc range between floor(cf_olap_windowerr_sale.pn)::integer following and floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.pn)::integer following ), |
| win2 as (order by cf_olap_windowerr_sale.pn desc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc); |
| ERROR: invalid preceding or following size in window function |
| -- VARIANCE() function with ONLY order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(VARIANCE(floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc rows between unbounded preceding and 1 preceding ); |
| ERROR: division by zero |
| -- VARIANCE() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(VARIANCE(floor(cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(RANK() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.qty) as int),NULL) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win4),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.qty |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc,cf_olap_windowerr_sale.vn desc rows between unbounded preceding and floor(cf_olap_windowerr_sale.vn) preceding ), |
| win2 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.pn desc), |
| win3 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc), |
| win4 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.vn asc); |
| cn | to_char | vn | to_char | dt | pn | to_char | to_char | prc | qty |
| ----+-------------------+----+-------------------+------------+-----+-------------------+-------------------+------+------ |
| 2 | .0000000 | 40 | 1.0000000 | 01-01-1401 | 100 | .0000000 | 1.0000000 | 2400 | 1100 |
| 1 | .0000000 | 10 | 1.0000000 | 03-01-1401 | 200 | .0000000 | 1.0000000 | 0 | 1 |
| 3 | .0000000 | 40 | 1.0000000 | 04-01-1401 | 200 | .0000000 | 1.0000000 | 0 | 1 |
| 1 | .0000000 | 20 | 1.0000000 | 05-01-1401 | 100 | .0000000 | 1.0000000 | 0 | 1 |
| 1 | .0000000 | 30 | 1.0000000 | 05-02-1401 | 300 | .0000000 | 1.0000000 | 0 | 1 |
| 1 | .0000000 | 30 | 1.0000000 | 06-01-1401 | 500 | .0000000 | 1.0000000 | 5 | 12 |
| 3 | .0000000 | 30 | 1.0000000 | 06-01-1401 | 500 | .0000000 | 1.0000000 | 5 | 12 |
| 3 | .0000000 | 30 | 1.0000000 | 06-01-1401 | 600 | .0000000 | 1.0000000 | 5 | 12 |
| 4 | .0000000 | 40 | 1.0000000 | 06-01-1401 | 700 | .0000000 | 1.0000000 | 1 | 1 |
| 4 | .0000000 | 40 | 1.0000000 | 06-01-1401 | 800 | .0000000 | 1.0000000 | 1 | 1 |
| 1 | .0000000 | 50 | 1.0000000 | 06-01-1401 | 400 | .0000000 | 1.0000000 | 0 | 1 |
| 2 | .0000000 | 50 | 1.0000000 | 06-01-1401 | 400 | .0000000 | 1.0000000 | 0 | 1 |
| (12 rows) |
| |
| -- VARIANCE() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(VARIANCE(floor(cf_olap_windowerr_sale.cn*cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.vn) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.qty, |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.qty)) OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc,cf_olap_windowerr_sale.cn asc,cf_olap_windowerr_sale.vn asc rows between unbounded preceding and unbounded following ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win4),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.pn) as int),NULL) OVER(win5),0),'99999999.9999999'),cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc,cf_olap_windowerr_sale.cn asc,cf_olap_windowerr_sale.vn asc rows between unbounded preceding and unbounded following ), |
| win2 as (partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc), |
| win3 as (order by cf_olap_windowerr_sale.vn asc), |
| win4 as (partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc), |
| win5 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc); |
| cn | vn | to_char | to_char | qty | to_char | to_char | to_char | to_char | pn |
| ----+----+-------------------+-------------------+------+-------------------+-------------------+-------------------+-------------------+----- |
| 2 | 40 | 32.7272727 | .0000000 | 1100 | 12.0000000 | .8333333 | 1.0000000 | .0000000 | 100 |
| 1 | 10 | 32.7272727 | .0000000 | 1 | 12.0000000 | .0833333 | 1.0000000 | .0000000 | 200 |
| 3 | 40 | 32.7272727 | .0000000 | 1 | 12.0000000 | .8333333 | 1.0000000 | .0000000 | 200 |
| 1 | 20 | 32.7272727 | .0000000 | 1 | 12.0000000 | .1666667 | 2.0000000 | .0000000 | 100 |
| 1 | 30 | 32.7272727 | .0000000 | 1 | 12.0000000 | .5000000 | 3.0000000 | .0000000 | 300 |
| 1 | 50 | 32.7272727 | .0000000 | 1 | 12.0000000 | 1.0000000 | 4.0000000 | .0000000 | 400 |
| 2 | 50 | 32.7272727 | .0000000 | 1 | 12.0000000 | 1.0000000 | 1.0000000 | .0000000 | 400 |
| 1 | 30 | 32.7272727 | .0000000 | 12 | 12.0000000 | .5000000 | 1.0000000 | .0000000 | 500 |
| 3 | 30 | 32.7272727 | .0000000 | 12 | 12.0000000 | .5000000 | 1.0000000 | .0000000 | 500 |
| 3 | 30 | 32.7272727 | .0000000 | 12 | 12.0000000 | .5000000 | 2.0000000 | .0000000 | 600 |
| 4 | 40 | 32.7272727 | .0000000 | 1 | 12.0000000 | .8333333 | 1.0000000 | .0000000 | 700 |
| 4 | 40 | 32.7272727 | .0000000 | 1 | 12.0000000 | .8333333 | 2.0000000 | .0000000 | 800 |
| (12 rows) |
| |
| -- VARIANCE() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(VARIANCE(floor(cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.vn*cf_olap_windowerr_sale.vn) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.cn*cf_olap_windowerr_sale.vn)) OVER(partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.qty*cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc rows between 1 following and floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.vn) following ), |
| win2 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc), |
| win3 as (order by cf_olap_windowerr_sale.cn desc); |
| ERROR: frame ending offset must not be negative |
| -- VARIANCE() function with ONLY order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(VARIANCE(floor(cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc,cf_olap_windowerr_sale.vn desc,cf_olap_windowerr_sale.cn desc rows between floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.prc) following and unbounded following ); |
| ERROR: division by zero |
| -- VARIANCE() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(VARIANCE(floor(cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.qty*cf_olap_windowerr_sale.prc) as int),NULL) OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc,cf_olap_windowerr_sale.cn desc rows between 2 following and unbounded following ), |
| win2 as (partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc); |
| ERROR: division by zero |
| -- VARIANCE() function with OVER() clause having PARTITION BY and ORDER BY (without framing) in combination with other window functions -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(VARIANCE(floor(cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty |
| , |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.pn) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.cn)) OVER(partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.cn*cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.prc) as int),NULL) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.cn)) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.pn asc,cf_olap_windowerr_sale.cn desc,cf_olap_windowerr_sale.cn asc), |
| win2 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc); |
| vn | dt | pn | to_char | cn | qty | to_char | to_char | to_char | to_char | to_char |
| ----+------------+-----+-------------------+----+------+-------------------+-------------------+-------------------+-------------------+------------------- |
| 40 | 01-01-1401 | 100 | .0000000 | 2 | 1100 | .0000000 | 1.0000000 | .0000000 | 1200.0000000 | 1.0000000 |
| 10 | 03-01-1401 | 200 | .0000000 | 1 | 1 | .0000000 | 1.0000000 | .0000000 | .0000000 | 1.0000000 |
| 40 | 04-01-1401 | 200 | .0000000 | 3 | 1 | .0000000 | 1.0000000 | .0000000 | .0000000 | 1.0000000 |
| 20 | 05-01-1401 | 100 | .0000000 | 1 | 1 | .0000000 | 1.0000000 | .0000000 | .0000000 | 1.0000000 |
| 30 | 05-02-1401 | 300 | .0000000 | 1 | 1 | .0000000 | 1.0000000 | .0000000 | .0000000 | 1.0000000 |
| 50 | 06-01-1401 | 400 | .0000000 | 1 | 1 | .0000000 | 1.0000000 | .0000000 | .0000000 | 1.0000000 |
| 50 | 06-01-1401 | 400 | .0000000 | 2 | 1 | .0000000 | 2.0000000 | .0000000 | .0000000 | 2.0000000 |
| 30 | 06-01-1401 | 500 | .0000000 | 1 | 12 | .0000000 | 1.0000000 | .0000000 | .0000000 | 1.0000000 |
| 30 | 06-01-1401 | 500 | .0000000 | 3 | 12 | .0000000 | 2.0000000 | .0000000 | .0000000 | 2.0000000 |
| 30 | 06-01-1401 | 600 | .0000000 | 3 | 12 | .0000000 | 1.0000000 | .0000000 | .0000000 | 1.0000000 |
| 40 | 06-01-1401 | 700 | .0000000 | 4 | 1 | .0000000 | 1.0000000 | .0000000 | .0000000 | 1.0000000 |
| 40 | 06-01-1401 | 800 | .0000000 | 4 | 1 | .0000000 | 1.0000000 | .0000000 | .0000000 | 1.0000000 |
| (12 rows) |
| |
| -- VARIANCE() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(VARIANCE(floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.qty) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn AND cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.cn asc range unbounded preceding ), |
| win2 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc); |
| prc | cn | to_char | pn | to_char | dt | vn |
| ------+----+-------------------+-----+-------------------+------------+---- |
| 5 | 3 | .0000000 | 600 | .0000000 | 06-01-1401 | 30 |
| 1 | 4 | .0000000 | 800 | .0000000 | 06-01-1401 | 40 |
| 0 | 1 | .0000000 | 400 | 50.0000000 | 06-01-1401 | 50 |
| 0 | 2 | .0000000 | 400 | 50.0000000 | 06-01-1401 | 50 |
| 0 | 1 | .0000000 | 200 | 10.0000000 | 03-01-1401 | 10 |
| 0 | 1 | .0000000 | 300 | 30.0000000 | 05-02-1401 | 30 |
| 0 | 3 | 450.0000000 | 200 | .0000000 | 04-01-1401 | 40 |
| 0 | 1 | .0000000 | 100 | 20.0000000 | 05-01-1401 | 20 |
| 5 | 1 | .0000000 | 500 | .0000000 | 06-01-1401 | 30 |
| 5 | 3 | .0000000 | 500 | .0000000 | 06-01-1401 | 30 |
| 2400 | 2 | 200.0000000 | 100 | .0000000 | 01-01-1401 | 40 |
| 1 | 4 | .0000000 | 700 | .0000000 | 06-01-1401 | 40 |
| (12 rows) |
| |
| -- VARIANCE() function with partition by and order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt, TO_CHAR(COALESCE(VARIANCE(floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.vn desc range floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.pn)::integer preceding ); |
| ERROR: invalid preceding or following size in window function (seg0 slice1 127.0.0.1:40000 pid=3933) |
| -- VARIANCE() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(VARIANCE(floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.cn) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.prc, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.pn) as int),NULL) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.cn*cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.cn) as int),NULL) OVER(win4),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.cn desc range between floor(cf_olap_windowerr_sale.vn)::integer preceding and 3 preceding ), |
| win2 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc), |
| win4 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc); |
| vn | qty | pn | vn | to_char | cn | to_char | prc | to_char | to_char | to_char | to_char |
| ----+------+-----+----+-------------------+----+-------------------+------+-------------------+-------------------+-------------------+------------------- |
| 40 | 1100 | 100 | 40 | .0000000 | 2 | .0000000 | 2400 | .0000000 | 1.0000000 | .0000000 | -2398.0000000 |
| 10 | 1 | 200 | 10 | .0000000 | 1 | 100.0000000 | 0 | .0000000 | 1.0000000 | .0000000 | 1.0000000 |
| 40 | 1 | 200 | 40 | .0000000 | 3 | .0000000 | 0 | .0000000 | 1.0000000 | .0000000 | 3.0000000 |
| 20 | 1 | 100 | 20 | .0000000 | 1 | 300.0000000 | 0 | .0000000 | 2.0000000 | .0000000 | 1.0000000 |
| 30 | 1 | 300 | 30 | .0000000 | 1 | 400.0000000 | 0 | .0000000 | 3.0000000 | .0000000 | 1.0000000 |
| 50 | 1 | 400 | 50 | .0000000 | 1 | .0000000 | 0 | .0000000 | 4.0000000 | .0000000 | 1.0000000 |
| 50 | 1 | 400 | 50 | .0000000 | 2 | .0000000 | 0 | .0000000 | 1.0000000 | .0000000 | 2.0000000 |
| 30 | 12 | 500 | 30 | .0000000 | 1 | .0000000 | 5 | .0000000 | 1.0000000 | .0000000 | -4.0000000 |
| 30 | 12 | 500 | 30 | .0000000 | 3 | .0000000 | 5 | .0000000 | 1.0000000 | .0000000 | -2.0000000 |
| 30 | 12 | 600 | 30 | .0000000 | 3 | .0000000 | 5 | .0000000 | 2.0000000 | .0000000 | -2.0000000 |
| 40 | 1 | 700 | 40 | .0000000 | 4 | .0000000 | 1 | .0000000 | 1.0000000 | .0000000 | 3.0000000 |
| 40 | 1 | 800 | 40 | .0000000 | 4 | .0000000 | 1 | .0000000 | 2.0000000 | .0000000 | 3.0000000 |
| (12 rows) |
| |
| -- VARIANCE() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(VARIANCE(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc rows between unbounded preceding and 4 preceding ), |
| win2 as (order by cf_olap_windowerr_sale.cn desc); |
| prc | cn | to_char | vn | to_char | to_char |
| ------+----+-------------------+----+-------------------+------------------- |
| 1 | 4 | .0000000 | 40 | .0000000 | 1.0000000 |
| 1 | 4 | .0000000 | 40 | .0000000 | 1.0000000 |
| 0 | 3 | .0000000 | 40 | .0000000 | 2.0000000 |
| 5 | 3 | .0000000 | 30 | .0000000 | 2.0000000 |
| 5 | 3 | .0000000 | 30 | .0000000 | 2.0000000 |
| 0 | 2 | .0000000 | 50 | .0000000 | 3.0000000 |
| 2400 | 2 | .0000000 | 40 | .0000000 | 3.0000000 |
| 0 | 1 | .0000000 | 20 | .0000000 | 4.0000000 |
| 0 | 1 | .0000000 | 30 | .0000000 | 4.0000000 |
| 0 | 1 | .0000000 | 50 | .0000000 | 4.0000000 |
| 5 | 1 | .0000000 | 30 | .0000000 | 4.0000000 |
| 0 | 1 | .0000000 | 10 | .0000000 | 4.0000000 |
| (12 rows) |
| |
| -- VARIANCE() function with partition by and order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt, TO_CHAR(COALESCE(VARIANCE(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn AND cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc rows between 9 preceding and unbounded following ); |
| ERROR: division by zero (seg0 slice5 127.0.0.1:25432 pid=55689) |
| -- VARIANCE() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(VARIANCE(floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.pn)) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc rows between current row and floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.pn) following ), |
| win2 as (partition by cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.vn asc), |
| win3 as (order by cf_olap_windowerr_sale.pn desc); |
| ERROR: frame ending offset must not be negative (seg0 slice2 127.0.0.1:25432 pid=55715) |
| -- VARIANCE() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(VARIANCE(floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.prc) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win4),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win4),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc rows between floor(cf_olap_windowerr_sale.cn*cf_olap_windowerr_sale.prc) following and 1 following ), |
| win2 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc), |
| win3 as (order by cf_olap_windowerr_sale.cn desc), |
| win4 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc); |
| prc | to_char | cn | vn | qty | to_char | pn | to_char | to_char | to_char | to_char |
| ------+-------------------+----+----+------+-------------------+-----+-------------------+-------------------+-------------------+------------------- |
| 2400 | .0000000 | 2 | 40 | 1100 | .0000000 | 100 | 3.0000000 | .0000000 | .0000000 | 1.0000000 |
| 0 | .0000000 | 1 | 10 | 1 | .0000000 | 200 | 4.0000000 | .0909091 | .0000000 | 2.0000000 |
| 0 | .0000000 | 3 | 40 | 1 | .0000000 | 200 | 2.0000000 | .1818182 | .0000000 | 3.0000000 |
| 0 | .0000000 | 1 | 20 | 1 | .0000000 | 100 | 4.0000000 | .2727273 | .0000000 | 4.0000000 |
| 0 | .0000000 | 1 | 30 | 1 | .0000000 | 300 | 4.0000000 | .3636364 | .0000000 | 5.0000000 |
| 0 | .0000000 | 1 | 50 | 1 | .0000000 | 400 | 4.0000000 | .4545455 | .0000000 | 6.0000000 |
| 0 | .0000000 | 2 | 50 | 1 | .0000000 | 400 | 3.0000000 | .5454545 | .0000000 | 7.0000000 |
| 5 | .0000000 | 1 | 30 | 12 | .0000000 | 500 | 4.0000000 | .6363636 | .0000000 | 8.0000000 |
| 5 | .0000000 | 3 | 30 | 12 | .0000000 | 500 | 2.0000000 | .7272727 | .0000000 | 9.0000000 |
| 5 | .0000000 | 3 | 30 | 12 | .0000000 | 600 | 2.0000000 | .8181818 | .0000000 | 10.0000000 |
| 1 | .0000000 | 4 | 40 | 1 | 1.0000000 | 700 | 1.0000000 | .9090909 | .0000000 | 11.0000000 |
| 1 | .0000000 | 4 | 40 | 1 | 1.0000000 | 800 | 1.0000000 | 1.0000000 | .0000000 | 12.0000000 |
| (12 rows) |
| |
| -- CORR() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(CORR(floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.vn),floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.vn)) OVER(order by cf_olap_windowerr_sale.cn asc range unbounded preceding ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.pn*cf_olap_windowerr_sale.pn)) OVER(order by cf_olap_windowerr_sale.cn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.prc) as int),NULL) OVER(win4),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn asc range unbounded preceding ), |
| win2 as (order by cf_olap_windowerr_sale.cn asc), |
| win3 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.vn asc), |
| win4 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc); |
| cn | dt | vn | to_char | to_char | to_char | to_char | qty | pn | to_char | to_char |
| ----+------------+----+-------------------+-------------------+-------------------+-------------------+------+-----+-------------------+------------------- |
| 2 | 01-01-1401 | 40 | .5544789 | 50.0000000 | 6.0000000 | 1.0000000 | 1100 | 100 | 250000.0000000 | .0000000 |
| 1 | 03-01-1401 | 10 | .0000000 | 50.0000000 | 1.0000000 | 1.0000000 | 1 | 200 | 250000.0000000 | 1.0000000 |
| 3 | 04-01-1401 | 40 | .2511638 | 50.0000000 | 8.0000000 | 1.0000000 | 1 | 200 | 360000.0000000 | .0000000 |
| 1 | 05-01-1401 | 20 | .0000000 | 50.0000000 | 1.0000000 | 1.0000000 | 1 | 100 | 250000.0000000 | .0000000 |
| 1 | 05-02-1401 | 30 | .0000000 | 50.0000000 | 1.0000000 | 1.0000000 | 1 | 300 | 250000.0000000 | .0000000 |
| 1 | 06-01-1401 | 50 | .0000000 | 50.0000000 | 1.0000000 | 1.0000000 | 1 | 400 | 250000.0000000 | .0000000 |
| 2 | 06-01-1401 | 50 | .5544789 | 50.0000000 | 6.0000000 | 1.0000000 | 1 | 400 | 250000.0000000 | .0000000 |
| 1 | 06-01-1401 | 30 | .0000000 | 50.0000000 | 1.0000000 | 1.0000000 | 12 | 500 | 250000.0000000 | .0000000 |
| 3 | 06-01-1401 | 30 | .2511638 | 50.0000000 | 8.0000000 | 1.0000000 | 12 | 500 | 360000.0000000 | .0000000 |
| 3 | 06-01-1401 | 30 | .2511638 | 50.0000000 | 8.0000000 | 1.0000000 | 12 | 600 | 360000.0000000 | .0000000 |
| 4 | 06-01-1401 | 40 | .3379763 | 50.0000000 | 11.0000000 | 1.0000000 | 1 | 700 | 640000.0000000 | .0000000 |
| 4 | 06-01-1401 | 40 | .3379763 | 50.0000000 | 11.0000000 | 1.0000000 | 1 | 800 | 640000.0000000 | .0000000 |
| (12 rows) |
| |
| -- CORR() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(CORR(floor(cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.vn) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.pn) as int),NULL) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.pn*cf_olap_windowerr_sale.prc) as int),NULL) OVER(win4),0),'99999999.9999999'),cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.vn desc range between unbounded preceding and current row ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc), |
| win4 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc); |
| dt | cn | qty | to_char | vn | to_char | to_char | to_char | to_char | to_char | pn |
| ------------+----+------+-------------------+----+-------------------+-------------------+-------------------+-------------------+-------------------+----- |
| 03-01-1401 | 1 | 1 | .9999226 | 10 | -3.0000000 | .1666667 | .0000000 | 12.0000000 | .0000000 | 200 |
| 05-01-1401 | 1 | 1 | .9999246 | 20 | .0000000 | .3333333 | .0000000 | 11.0000000 | .0000000 | 100 |
| 05-02-1401 | 1 | 1 | .9999270 | 30 | .0000000 | .4166667 | .0000000 | 10.0000000 | .0000000 | 300 |
| 06-01-1401 | 1 | 12 | .9999270 | 30 | .0000000 | .6666667 | .0000000 | 10.0000000 | .0000000 | 500 |
| 06-01-1401 | 1 | 1 | .0000000 | 50 | .0000000 | .5000000 | .0000000 | 2.0000000 | .0000000 | 400 |
| 01-01-1401 | 2 | 1100 | .9999999 | 40 | .0000000 | .0833333 | .0000000 | 6.0000000 | .0000000 | 100 |
| 06-01-1401 | 2 | 1 | .0000000 | 50 | .0000000 | .5833333 | .0000000 | 2.0000000 | .0000000 | 400 |
| 06-01-1401 | 3 | 12 | .9999270 | 30 | .0000000 | .7500000 | .0000000 | 10.0000000 | .0000000 | 500 |
| 06-01-1401 | 3 | 12 | .9999270 | 30 | .0000000 | .8333333 | .0000000 | 10.0000000 | .0000000 | 600 |
| 04-01-1401 | 3 | 1 | .9999999 | 40 | .0000000 | .2500000 | .0000000 | 6.0000000 | .0000000 | 200 |
| 06-01-1401 | 4 | 1 | .9999999 | 40 | .0000000 | .9166667 | .0000000 | 6.0000000 | .0000000 | 700 |
| 06-01-1401 | 4 | 1 | .9999999 | 40 | .0000000 | 1.0000000 | .0000000 | 6.0000000 | .0000000 | 800 |
| (12 rows) |
| |
| -- CORR() function with ONLY order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(CORR(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc,cf_olap_windowerr_sale.vn asc rows floor(cf_olap_windowerr_sale.vn) preceding ); |
| ERROR: division by zero |
| -- CORR() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(CORR(floor(cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.prc) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.dt, |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.pn)) OVER(partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.prc) as int),NULL) OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc,cf_olap_windowerr_sale.vn asc rows between unbounded preceding and floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.vn) preceding ), |
| win2 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc); |
| prc | to_char | cn | vn | to_char | dt | to_char | to_char |
| ------+-------------------+----+----+-------------------+------------+-------------------+------------------- |
| 2400 | .0000000 | 2 | 40 | 80.0000000 | 01-01-1401 | 1.0000000 | .0000000 |
| 0 | .0000000 | 1 | 10 | 20.0000000 | 03-01-1401 | 1.0000000 | .0000000 |
| 0 | .0000000 | 3 | 40 | 80.0000000 | 04-01-1401 | 1.0000000 | .0000000 |
| 0 | .0000000 | 1 | 20 | 40.0000000 | 05-01-1401 | 1.0000000 | .0000000 |
| 0 | .0000000 | 1 | 30 | 60.0000000 | 05-02-1401 | 1.0000000 | .0000000 |
| 0 | .0000000 | 1 | 50 | 100.0000000 | 06-01-1401 | 1.0000000 | .0000000 |
| 0 | .0000000 | 2 | 50 | 100.0000000 | 06-01-1401 | 1.0000000 | .0000000 |
| 5 | .0000000 | 1 | 30 | 60.0000000 | 06-01-1401 | 1.0000000 | .0000000 |
| 5 | .0000000 | 3 | 30 | 60.0000000 | 06-01-1401 | 1.0000000 | .0000000 |
| 5 | .0000000 | 3 | 30 | 60.0000000 | 06-01-1401 | 2.0000000 | .0000000 |
| 1 | .0000000 | 4 | 40 | 80.0000000 | 06-01-1401 | 1.0000000 | .0000000 |
| 1 | .0000000 | 4 | 40 | 80.0000000 | 06-01-1401 | 2.0000000 | .0000000 |
| (12 rows) |
| |
| -- CORR() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(CORR(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.cn)) OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc,cf_olap_windowerr_sale.cn desc rows between unbounded preceding and unbounded following ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.pn desc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.pn desc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.qty) as int),NULL) OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.vn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc,cf_olap_windowerr_sale.cn desc rows between unbounded preceding and unbounded following ), |
| win2 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.pn desc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc); |
| ERROR: division by zero |
| -- CORR() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(CORR(floor(cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.qty) as int),NULL) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.pn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win4),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc rows between 1 preceding and floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.prc) following ), |
| win2 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.pn asc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc), |
| win4 as (order by cf_olap_windowerr_sale.pn desc); |
| ERROR: division by zero (seg0 slice2 127.0.0.1:25432 pid=55689) |
| -- CORR() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(CORR(floor(cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.prc*cf_olap_windowerr_sale.prc)) OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc rows between floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.vn) preceding and unbounded following ),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc rows between floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.vn) preceding and unbounded following ); |
| ERROR: frame starting offset must not be negative |
| -- CORR() function with OVER() clause having PARTITION BY and ORDER BY (without framing) in combination with other window functions -- |
| SELECT cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt, TO_CHAR(COALESCE(CORR(floor(cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn |
| , |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.vn)) OVER(partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.cn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.cn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.vn*cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.vn) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.cn asc), |
| win2 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc); |
| dt | dt | prc | dt | to_char | cn | to_char | to_char | to_char | vn | pn | to_char |
| ------------+------------+------+------------+-------------------+----+-------------------+-------------------+-------------------+----+-----+------------------- |
| 04-01-1401 | 04-01-1401 | 0 | 04-01-1401 | .0000000 | 3 | 1.0000000 | .0000000 | .0000000 | 40 | 200 | 1.0000000 |
| 06-01-1401 | 06-01-1401 | 1 | 06-01-1401 | .0000000 | 4 | 2.0000000 | .0000000 | .0000000 | 40 | 700 | 1.0000000 |
| 03-01-1401 | 03-01-1401 | 0 | 03-01-1401 | .0000000 | 1 | 1.0000000 | .0000000 | .0000000 | 10 | 200 | 1.0000000 |
| 05-02-1401 | 05-02-1401 | 0 | 05-02-1401 | .0000000 | 1 | 1.0000000 | .0000000 | .0000000 | 30 | 300 | 1.0000000 |
| 06-01-1401 | 06-01-1401 | 0 | 06-01-1401 | .0000000 | 1 | 1.0000000 | .0000000 | .0000000 | 50 | 400 | 1.0000000 |
| 06-01-1401 | 06-01-1401 | 0 | 06-01-1401 | .0000000 | 2 | 2.0000000 | 1.0000000 | .0000000 | 50 | 400 | 2.0000000 |
| 05-01-1401 | 05-01-1401 | 0 | 05-01-1401 | .0000000 | 1 | 1.0000000 | .0000000 | .0000000 | 20 | 100 | 1.0000000 |
| 06-01-1401 | 06-01-1401 | 5 | 06-01-1401 | .0000000 | 1 | 1.0000000 | .0000000 | .0000000 | 30 | 500 | 1.0000000 |
| 06-01-1401 | 06-01-1401 | 5 | 06-01-1401 | .0000000 | 3 | 3.0000000 | .5000000 | .0000000 | 30 | 500 | 2.0000000 |
| 06-01-1401 | 06-01-1401 | 5 | 06-01-1401 | .0000000 | 3 | 3.0000000 | .5000000 | .0000000 | 30 | 600 | 1.0000000 |
| 01-01-1401 | 01-01-1401 | 2400 | 01-01-1401 | .0000000 | 2 | 1.0000000 | .0000000 | .0000000 | 40 | 100 | 1.0000000 |
| 06-01-1401 | 06-01-1401 | 1 | 06-01-1401 | .0000000 | 4 | 2.0000000 | .0000000 | .0000000 | 40 | 800 | 1.0000000 |
| (12 rows) |
| |
| -- CORR() function with partition by and order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(CORR(floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.cn asc range between 1 preceding and floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.prc)::integer following ); |
| ERROR: division by zero (seg0 slice2 127.0.0.1:25432 pid=55689) |
| -- CORR() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(CORR(floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.qty+cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.pn) as int),NULL) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(partition by cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.qty*cf_olap_windowerr_sale.qty) as int),NULL) OVER(win4),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.cn desc range between floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.prc)::integer preceding and unbounded following ), |
| win2 as (partition by cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.pn asc), |
| win3 as (partition by cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc), |
| win4 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc); |
| ERROR: invalid preceding or following size in window function (seg2 slice2 127.0.0.1:40002 pid=19837) |
| -- CORR() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(CORR(floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.qty+cf_olap_windowerr_sale.prc)) OVER(partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.pn desc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.prc) as int),NULL) OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.vn asc range between current row and current row ), |
| win2 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.pn desc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc); |
| prc | to_char | dt | vn | to_char | cn | qty | pn | to_char | to_char |
| ------+-------------------+------------+----+-------------------+----+------+-----+-------------------+------------------- |
| 2400 | .0000000 | 01-01-1401 | 40 | 1.0000000 | 2 | 1100 | 100 | 3500.0000000 | .0000000 |
| 0 | .0000000 | 03-01-1401 | 10 | 1.0000000 | 1 | 1 | 200 | 1.0000000 | .0000000 |
| 0 | .0000000 | 04-01-1401 | 40 | 1.0000000 | 3 | 1 | 200 | 1.0000000 | .0000000 |
| 0 | .0000000 | 05-01-1401 | 20 | 1.0000000 | 1 | 1 | 100 | 1.0000000 | .0000000 |
| 0 | .0000000 | 05-02-1401 | 30 | 1.0000000 | 1 | 1 | 300 | 1.0000000 | .0000000 |
| 0 | .0000000 | 06-01-1401 | 50 | 1.0000000 | 1 | 1 | 400 | 1.0000000 | .0000000 |
| 0 | .0000000 | 06-01-1401 | 50 | 1.0000000 | 2 | 1 | 400 | 1.0000000 | .0000000 |
| 5 | 1.0000000 | 06-01-1401 | 30 | 1.0000000 | 1 | 12 | 500 | 17.0000000 | .0000000 |
| 5 | 1.0000000 | 06-01-1401 | 30 | 1.0000000 | 3 | 12 | 500 | 17.0000000 | .0000000 |
| 5 | 1.0000000 | 06-01-1401 | 30 | .5000000 | 3 | 12 | 600 | 17.0000000 | .0000000 |
| 1 | 1.0000000 | 06-01-1401 | 40 | 1.0000000 | 4 | 1 | 700 | 2.0000000 | .0000000 |
| 1 | 1.0000000 | 06-01-1401 | 40 | .5000000 | 4 | 1 | 800 | 2.0000000 | .0000000 |
| (12 rows) |
| |
| -- CORR() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(CORR(floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.prc*cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.qty) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.prc, |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.vn*cf_olap_windowerr_sale.prc)) OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.vn desc range between floor(cf_olap_windowerr_sale.qty)::integer following and 4 following ), |
| win2 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc); |
| cn | pn | pn | qty | to_char | dt | vn | to_char | prc | to_char | to_char | to_char |
| ----+-----+-----+------+-------------------+------------+----+-------------------+------+-------------------+-------------------+------------------- |
| 3 | 200 | 200 | 1 | .0000000 | 04-01-1401 | 40 | .0000000 | 0 | 1.0000000 | 1.0000000 | 1.0000000 |
| 2 | 100 | 100 | 1100 | .0000000 | 01-01-1401 | 40 | .0000000 | 2400 | 1.0000000 | 1.0000000 | 1.0000000 |
| 1 | 100 | 100 | 1 | .0000000 | 05-01-1401 | 20 | .0000000 | 0 | 1.0000000 | 1.0000000 | 1.0000000 |
| 1 | 300 | 300 | 1 | .0000000 | 05-02-1401 | 30 | .0000000 | 0 | 1.0000000 | 1.0000000 | 1.0000000 |
| 1 | 400 | 400 | 1 | .0000000 | 06-01-1401 | 50 | .0000000 | 0 | 1.0000000 | 1.0000000 | 1.0000000 |
| 2 | 400 | 400 | 1 | .0000000 | 06-01-1401 | 50 | .0000000 | 0 | 2.0000000 | 2.0000000 | 2.0000000 |
| 4 | 700 | 700 | 1 | .0000000 | 06-01-1401 | 40 | 800.0000000 | 1 | 1.0000000 | 1.0000000 | 1.0000000 |
| 4 | 800 | 800 | 1 | .0000000 | 06-01-1401 | 40 | .0000000 | 1 | 2.0000000 | 2.0000000 | 2.0000000 |
| 1 | 200 | 200 | 1 | .0000000 | 03-01-1401 | 10 | .0000000 | 0 | 1.0000000 | 1.0000000 | 1.0000000 |
| 1 | 500 | 500 | 12 | .0000000 | 06-01-1401 | 30 | .0000000 | 5 | 1.0000000 | 1.0000000 | 1.0000000 |
| 3 | 500 | 500 | 12 | .0000000 | 06-01-1401 | 30 | .0000000 | 5 | 2.0000000 | 2.0000000 | 2.0000000 |
| 3 | 600 | 600 | 12 | .0000000 | 06-01-1401 | 30 | .0000000 | 5 | 3.0000000 | 3.0000000 | 3.0000000 |
| (12 rows) |
| |
| -- CORR() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(CORR(floor(cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.dt, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.prc*cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.qty) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.qty, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.pn) as int),NULL) OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.cn desc range between 2 following and unbounded following ), |
| win2 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc), |
| win3 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc); |
| cn | vn | to_char | dt | to_char | prc | qty | to_char | pn | to_char |
| ----+----+-------------------+------------+-------------------+------+------+-------------------+-----+------------------- |
| 1 | 10 | .0000000 | 03-01-1401 | .0000000 | 0 | 1 | .0000000 | 200 | 1.0000000 |
| 3 | 40 | .0000000 | 04-01-1401 | .0000000 | 0 | 1 | .0000000 | 200 | 1.0000000 |
| 1 | 20 | .0000000 | 05-01-1401 | .0000000 | 0 | 1 | .0000000 | 100 | 1.0000000 |
| 1 | 30 | .0000000 | 05-02-1401 | .0000000 | 0 | 1 | .0000000 | 300 | 1.0000000 |
| 2 | 40 | .0000000 | 01-01-1401 | .0000000 | 2400 | 1100 | .0000000 | 100 | 1.0000000 |
| 1 | 50 | .0000000 | 06-01-1401 | .0000000 | 0 | 1 | .0000000 | 400 | 1.0000000 |
| 1 | 30 | .0000000 | 06-01-1401 | .0000000 | 5 | 12 | .0000000 | 500 | 1.0000000 |
| 2 | 50 | .0000000 | 06-01-1401 | .0000000 | 0 | 1 | .0000000 | 400 | 2.0000000 |
| 3 | 30 | .0000000 | 06-01-1401 | .0000000 | 5 | 12 | .0000000 | 500 | 2.0000000 |
| 3 | 30 | .0000000 | 06-01-1401 | .0000000 | 5 | 12 | .0000000 | 600 | 3.0000000 |
| 4 | 40 | .0000000 | 06-01-1401 | 800.0000000 | 1 | 1 | .0000000 | 700 | 1.0000000 |
| 4 | 40 | .0000000 | 06-01-1401 | .0000000 | 1 | 1 | .0000000 | 800 | 2.0000000 |
| (12 rows) |
| |
| -- CORR() function with partition by and order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(CORR(floor(cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc,cf_olap_windowerr_sale.cn asc,cf_olap_windowerr_sale.vn asc rows between unbounded preceding and floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.qty) preceding ); |
| ERROR: frame ending offset must not be negative (seg2 slice2 127.0.0.1:25434 pid=55691) |
| -- CORR() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(CORR(floor(cf_olap_windowerr_sale.qty+cf_olap_windowerr_sale.vn),floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win4),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win5),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.cn)) OVER(win4),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc rows between floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.prc) preceding and unbounded following ), |
| win2 as (order by cf_olap_windowerr_sale.vn desc), |
| win3 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.vn desc), |
| win4 as (partition by cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.pn desc), |
| win5 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.cn desc); |
| ERROR: division by zero (seg0 slice4 127.0.0.1:25432 pid=55689) |
| -- COVAR_POP() function with ONLY order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(COVAR_POP(floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.pn asc range between unbounded preceding and floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.cn)::integer preceding ); |
| ERROR: division by zero |
| -- COVAR_POP() function with ONLY order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(COVAR_POP(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn desc range between current row and floor(cf_olap_windowerr_sale.qty)::integer following ); |
| ERROR: division by zero |
| -- COVAR_POP() function with ONLY order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(COVAR_POP(floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.vn),floor(cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc rows between floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.prc) preceding and floor(cf_olap_windowerr_sale.cn) preceding ); |
| ERROR: frame starting offset must not be negative |
| -- COVAR_POP() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(COVAR_POP(floor(cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.cn*cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.prc)) OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc,cf_olap_windowerr_sale.pn asc rows between 3 preceding and floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.vn) following ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc,cf_olap_windowerr_sale.pn asc rows between 3 preceding and floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.vn) following ), |
| win2 as (order by cf_olap_windowerr_sale.cn desc); |
| ERROR: frame ending offset must not be negative |
| -- COVAR_POP() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(COVAR_POP(floor(cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.cn) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.vn) as int),NULL) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc rows between floor(cf_olap_windowerr_sale.prc) following and unbounded following ), |
| win2 as (partition by cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc), |
| win3 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc); |
| qty | qty | vn | dt | cn | qty | to_char | pn | to_char | to_char | to_char | to_char |
| ------+------+----+------------+----+------+-------------------+-----+-------------------+-------------------+-------------------+------------------- |
| 1100 | 1100 | 40 | 01-01-1401 | 2 | 1100 | .0000000 | 100 | .0000000 | .0000000 | 1.0000000 | 1.0000000 |
| 1 | 1 | 10 | 03-01-1401 | 1 | 1 | 203.3057851 | 200 | 10.0000000 | .0000000 | 1.0000000 | 1.0000000 |
| 1 | 1 | 40 | 04-01-1401 | 3 | 1 | 185.0000000 | 200 | .0000000 | .0000000 | 1.0000000 | 1.0000000 |
| 1 | 1 | 20 | 05-01-1401 | 1 | 1 | 153.0864198 | 100 | 20.0000000 | .0000000 | 1.0000000 | 1.0000000 |
| 1 | 1 | 30 | 05-02-1401 | 1 | 1 | 71.8750000 | 300 | 30.0000000 | .0000000 | 1.0000000 | 1.0000000 |
| 1 | 1 | 50 | 06-01-1401 | 1 | 1 | 4.0816327 | 400 | 50.0000000 | .0000000 | 1.0000000 | 1.0000000 |
| 1 | 1 | 50 | 06-01-1401 | 2 | 1 | -69.4444444 | 400 | 40.0000000 | .0000000 | 1.0000000 | 1.0000000 |
| 12 | 12 | 30 | 06-01-1401 | 1 | 12 | .0000000 | 500 | .0000000 | .0000000 | 1.0000000 | 1.0000000 |
| 12 | 12 | 30 | 06-01-1401 | 3 | 12 | .0000000 | 500 | .0000000 | .0000000 | 1.0000000 | 1.0000000 |
| 12 | 12 | 30 | 06-01-1401 | 3 | 12 | .0000000 | 600 | .0000000 | .0000000 | 1.0000000 | 1.0000000 |
| 1 | 1 | 40 | 06-01-1401 | 4 | 1 | .0000000 | 700 | .0000000 | .0000000 | 1.0000000 | 1.0000000 |
| 1 | 1 | 40 | 06-01-1401 | 4 | 1 | .0000000 | 800 | .0000000 | .0000000 | 1.0000000 | 1.0000000 |
| (12 rows) |
| |
| -- COVAR_POP() function with partition by and order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(COVAR_POP(floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.pn*cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.vn desc range between floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.pn)::integer preceding and floor(cf_olap_windowerr_sale.vn)::integer preceding ); |
| ERROR: invalid preceding or following size in window function (seg0 slice1 127.0.0.1:40000 pid=3933) |
| -- COVAR_POP() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(COVAR_POP(floor(cf_olap_windowerr_sale.vn),floor(cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.qty+cf_olap_windowerr_sale.prc) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.pn) as int),NULL) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.pn) as int),NULL) OVER(win4),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.vn asc range between floor(cf_olap_windowerr_sale.vn)::integer preceding and 2 preceding ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc), |
| win4 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc); |
| dt | qty | dt | vn | pn | vn | to_char | to_char | cn | to_char | to_char | to_char |
| ------------+------+------------+----+-----+----+-------------------+-------------------+----+-------------------+-------------------+------------------- |
| 01-01-1401 | 1100 | 01-01-1401 | 40 | 100 | 40 | .0000000 | .0000000 | 2 | .0000000 | .0000000 | 1.0000000 |
| 03-01-1401 | 1 | 03-01-1401 | 10 | 200 | 10 | .0000000 | 100.0000000 | 1 | .0000000 | .0000000 | 2.0000000 |
| 04-01-1401 | 1 | 04-01-1401 | 40 | 200 | 40 | .0000000 | 200.0000000 | 3 | .0000000 | .0000000 | 3.0000000 |
| 05-01-1401 | 1 | 05-01-1401 | 20 | 100 | 20 | .0000000 | 200.0000000 | 1 | .0000000 | .0000000 | 4.0000000 |
| 05-02-1401 | 1 | 05-02-1401 | 30 | 300 | 30 | .0000000 | 100.0000000 | 1 | .0000000 | .0000000 | 5.0000000 |
| 06-01-1401 | 1 | 06-01-1401 | 50 | 400 | 50 | .0000000 | 300.0000000 | 1 | .0000000 | .0000000 | 6.0000000 |
| 06-01-1401 | 1 | 06-01-1401 | 50 | 400 | 50 | .0000000 | 400.0000000 | 2 | .0000000 | .0000000 | 7.0000000 |
| 06-01-1401 | 12 | 06-01-1401 | 30 | 500 | 30 | .0000000 | .0000000 | 1 | .0000000 | .0000000 | 8.0000000 |
| 06-01-1401 | 12 | 06-01-1401 | 30 | 500 | 30 | .0000000 | .0000000 | 3 | .0000000 | .0000000 | 9.0000000 |
| 06-01-1401 | 12 | 06-01-1401 | 30 | 600 | 30 | .0000000 | .0000000 | 3 | .0000000 | .0000000 | 10.0000000 |
| 06-01-1401 | 1 | 06-01-1401 | 40 | 700 | 40 | .0000000 | 500.0000000 | 4 | .0000000 | .0000000 | 11.0000000 |
| 06-01-1401 | 1 | 06-01-1401 | 40 | 800 | 40 | .0000000 | 600.0000000 | 4 | .0000000 | .0000000 | 12.0000000 |
| (12 rows) |
| |
| -- COVAR_POP() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(COVAR_POP(floor(cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt, |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.qty)) OVER(partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.cn desc range between floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.cn)::integer preceding and unbounded following ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.vn)) OVER(partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.cn desc range between floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.cn)::integer preceding and unbounded following ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.qty) as int),NULL) OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.cn desc range between floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.cn)::integer preceding and unbounded following ), |
| win2 as (order by cf_olap_windowerr_sale.vn asc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc); |
| ERROR: invalid preceding or following size in window function |
| -- COVAR_POP() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(COVAR_POP(floor(cf_olap_windowerr_sale.vn),floor(cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.cn) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.dt, |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.pn)) OVER(partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.pn asc range between floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.prc)::integer following and floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.prc)::integer following ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.pn asc range between floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.prc)::integer following and floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.prc)::integer following ), |
| win2 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc); |
| ERROR: invalid preceding or following size in window function (seg0 slice1 127.0.0.1:40000 pid=3933) |
| -- COVAR_POP() function with partition by and order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(COVAR_POP(floor(cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.pn asc range between floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.prc)::integer following and unbounded following ); |
| ERROR: invalid preceding or following size in window function (seg0 slice1 127.0.0.1:40000 pid=19828) |
| -- COVAR_POP() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(COVAR_POP(floor(cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.prc, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.pn) as int),NULL) OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.pn desc range between floor(cf_olap_windowerr_sale.prc)::integer following and unbounded following ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc); |
| ERROR: division by zero (seg0 slice3 127.0.0.1:25432 pid=55689) |
| -- COVAR_POP() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(COVAR_POP(floor(cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.vn*cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.prc) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.cn) as int),NULL) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.cn)) OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc,cf_olap_windowerr_sale.cn desc rows between unbounded preceding and current row ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc); |
| pn | cn | to_char | dt | vn | to_char | to_char | to_char | to_char |
| -----+----+-------------------+------------+----+-------------------+-------------------+-------------------+------------------- |
| 100 | 2 | .0000000 | 01-01-1401 | 40 | .0000000 | 200.0000000 | 1.0000000 | 1.0000000 |
| 200 | 1 | .0000000 | 03-01-1401 | 10 | 96000.0000000 | 200.0000000 | 2.0000000 | 2.0000000 |
| 200 | 3 | .0000000 | 04-01-1401 | 40 | .0000000 | 400.0000000 | 3.0000000 | 3.0000000 |
| 100 | 1 | .0000000 | 05-01-1401 | 20 | .0000000 | 300.0000000 | 4.0000000 | 4.0000000 |
| 300 | 1 | .0000000 | 05-02-1401 | 30 | .0000000 | 400.0000000 | 5.0000000 | 5.0000000 |
| 400 | 1 | .0000000 | 06-01-1401 | 50 | .0000000 | 400.0000000 | 6.0000000 | 6.0000000 |
| 400 | 2 | .0000000 | 06-01-1401 | 50 | .0000000 | 41.0000000 | 7.0000000 | 7.0000000 |
| 500 | 1 | .0000000 | 06-01-1401 | 30 | 40.0000000 | 41.0000000 | 8.0000000 | 8.0000000 |
| 500 | 3 | .0000000 | 06-01-1401 | 30 | 40.0000000 | 800.0000000 | 9.0000000 | 9.0000000 |
| 600 | 3 | .0000000 | 06-01-1401 | 30 | 40.0000000 | .0000000 | 10.0000000 | 10.0000000 |
| 700 | 4 | .0000000 | 06-01-1401 | 40 | 150.0000000 | .0000000 | 11.0000000 | 11.0000000 |
| 800 | 4 | .0000000 | 06-01-1401 | 40 | 150.0000000 | .0000000 | 12.0000000 | 12.0000000 |
| (12 rows) |
| |
| -- COVAR_POP() function with partition by and order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(COVAR_POP(floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc,cf_olap_windowerr_sale.cn desc,cf_olap_windowerr_sale.cn asc rows between unbounded preceding and floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.prc) following ); |
| ERROR: frame ending offset must not be negative (seg2 slice2 127.0.0.1:25434 pid=55691) |
| -- COVAR_POP() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(COVAR_POP(floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.vn),floor(cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.prc) as int),NULL) OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc rows between unbounded preceding and 0 following ), |
| win2 as (order by cf_olap_windowerr_sale.pn desc), |
| win3 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc); |
| vn | cn | cn | dt | prc | qty | to_char | pn | to_char | to_char |
| ----+----+----+------------+------+------+-------------------+-----+-------------------+------------------- |
| 10 | 1 | 1 | 03-01-1401 | 0 | 1 | .0000000 | 200 | .8333333 | .0000000 |
| 20 | 1 | 1 | 05-01-1401 | 0 | 1 | .0000000 | 100 | 1.0000000 | .0000000 |
| 30 | 1 | 1 | 05-02-1401 | 0 | 1 | .0000000 | 300 | .6666667 | .0000000 |
| 50 | 1 | 1 | 06-01-1401 | 0 | 1 | .0000000 | 400 | .5833333 | .0000000 |
| 30 | 1 | 1 | 06-01-1401 | 5 | 12 | .0000000 | 500 | .4166667 | .0000000 |
| 50 | 2 | 2 | 06-01-1401 | 0 | 1 | .0000000 | 400 | .5833333 | .0000000 |
| 40 | 2 | 2 | 01-01-1401 | 2400 | 1100 | .0000000 | 100 | 1.0000000 | .0000000 |
| 40 | 3 | 3 | 04-01-1401 | 0 | 1 | .0000000 | 200 | .8333333 | .0000000 |
| 30 | 3 | 3 | 06-01-1401 | 5 | 12 | .0000000 | 500 | .4166667 | .0000000 |
| 30 | 3 | 3 | 06-01-1401 | 5 | 12 | .0000000 | 600 | .2500000 | .0000000 |
| 40 | 4 | 4 | 06-01-1401 | 1 | 1 | .0000000 | 700 | .1666667 | 700.0000000 |
| 40 | 4 | 4 | 06-01-1401 | 1 | 1 | .0000000 | 800 | .0833333 | 800.0000000 |
| (12 rows) |
| |
| -- COVAR_POP() function with partition by and order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(COVAR_POP(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc,cf_olap_windowerr_sale.cn desc rows between floor(cf_olap_windowerr_sale.vn) preceding and floor(cf_olap_windowerr_sale.pn) following ); |
| ERROR: division by zero (seg0 slice2 127.0.0.1:25432 pid=55689) |
| -- COVAR_POP() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(COVAR_POP(floor(cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.cn*cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.qty) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc rows between current row and floor(cf_olap_windowerr_sale.vn) following ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc); |
| cn | prc | qty | prc | to_char | dt | pn | to_char | to_char | to_char |
| ----+------+------+------+-------------------+------------+-----+-------------------+-------------------+------------------- |
| 2 | 2400 | 1100 | 2400 | .0000000 | 01-01-1401 | 100 | .0000000 | .0000000 | 1.0000000 |
| 1 | 0 | 1 | 0 | .0000000 | 03-01-1401 | 200 | 200.0000000 | .0909091 | 2.0000000 |
| 3 | 0 | 1 | 0 | .0000000 | 04-01-1401 | 200 | 100.0000000 | .1818182 | 3.0000000 |
| 1 | 0 | 1 | 0 | .0000000 | 05-01-1401 | 100 | 300.0000000 | .2727273 | 4.0000000 |
| 1 | 0 | 1 | 0 | .0000000 | 05-02-1401 | 300 | 400.0000000 | .3636364 | 5.0000000 |
| 1 | 0 | 1 | 0 | 68.0204082 | 06-01-1401 | 400 | 400.0000000 | .4545455 | 6.0000000 |
| 2 | 0 | 1 | 0 | 67.8333333 | 06-01-1401 | 400 | 500.0000000 | .5454545 | 7.0000000 |
| 1 | 5 | 12 | 5 | 63.3600000 | 06-01-1401 | 500 | .0000000 | .6363636 | 8.0000000 |
| 3 | 5 | 12 | 5 | 88.0000000 | 06-01-1401 | 500 | .0000000 | .7272727 | 9.0000000 |
| 3 | 5 | 12 | 5 | 78.2222222 | 06-01-1401 | 600 | .0000000 | .8181818 | 10.0000000 |
| 4 | 1 | 1 | 1 | .0000000 | 06-01-1401 | 700 | 700.0000000 | .9090909 | 11.0000000 |
| 4 | 1 | 1 | 1 | .0000000 | 06-01-1401 | 800 | 800.0000000 | 1.0000000 | 12.0000000 |
| (12 rows) |
| |
| -- COVAR_SAMP() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt, TO_CHAR(COALESCE(COVAR_SAMP(floor(cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.vn desc range between unbounded preceding and current row ), |
| win2 as (order by cf_olap_windowerr_sale.pn desc); |
| ERROR: division by zero |
| -- COVAR_SAMP() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(COVAR_SAMP(floor(cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.vn*cf_olap_windowerr_sale.qty)) OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc rows floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.qty) preceding ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.prc*cf_olap_windowerr_sale.prc)) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.vn) as int),NULL) OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc rows floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.qty) preceding ), |
| win2 as (order by cf_olap_windowerr_sale.vn desc), |
| win3 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc); |
| ERROR: frame starting offset must not be negative |
| -- COVAR_SAMP() function with ONLY order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(COVAR_SAMP(floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc,cf_olap_windowerr_sale.cn asc,cf_olap_windowerr_sale.vn desc rows between unbounded preceding and floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.prc) preceding ); |
| ERROR: frame ending offset must not be negative |
| -- COVAR_SAMP() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(COVAR_SAMP(floor(cf_olap_windowerr_sale.vn),floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.prc)) OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc,cf_olap_windowerr_sale.pn asc,cf_olap_windowerr_sale.cn desc rows between floor(cf_olap_windowerr_sale.qty+cf_olap_windowerr_sale.qty) preceding and current row ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.dt, |
| TO_CHAR(COALESCE(RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.vn) as int),NULL) OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc,cf_olap_windowerr_sale.pn asc,cf_olap_windowerr_sale.cn desc rows between floor(cf_olap_windowerr_sale.qty+cf_olap_windowerr_sale.qty) preceding and current row ), |
| win2 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.pn asc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc); |
| pn | prc | to_char | cn | to_char | to_char | dt | to_char | to_char |
| -----+------+-------------------+----+-------------------+-------------------+------------+-------------------+------------------- |
| 100 | 2400 | .0000000 | 2 | 2400.0000000 | 1.0000000 | 01-01-1401 | 1.0000000 | .0000000 |
| 200 | 0 | 450.0000000 | 1 | 2400.0000000 | 1.0000000 | 03-01-1401 | 1.0000000 | 1.0000000 |
| 200 | 0 | 300.0000000 | 3 | 2400.0000000 | 1.0000000 | 04-01-1401 | 1.0000000 | .0000000 |
| 100 | 0 | 233.3333333 | 1 | .0000000 | 1.0000000 | 05-01-1401 | 1.0000000 | .0000000 |
| 300 | 0 | 100.0000000 | 1 | .0000000 | 1.0000000 | 05-02-1401 | 1.0000000 | .0000000 |
| 400 | 0 | 233.3333333 | 1 | .0000000 | 1.0000000 | 06-01-1401 | 1.0000000 | .0000000 |
| 400 | 0 | 133.3333333 | 2 | .0000000 | 1.0000000 | 06-01-1401 | 1.0000000 | .0000000 |
| 500 | 5 | 198.2142857 | 1 | 2400.0000000 | 1.0000000 | 06-01-1401 | 1.0000000 | .0000000 |
| 500 | 5 | 175.0000000 | 3 | 2400.0000000 | 1.0000000 | 06-01-1401 | 1.0000000 | .0000000 |
| 600 | 5 | 156.6666667 | 3 | 2400.0000000 | 1.0000000 | 06-01-1401 | 1.0000000 | .0000000 |
| 700 | 1 | 33.3333333 | 4 | 5.0000000 | 1.0000000 | 06-01-1401 | 1.0000000 | .0000000 |
| 800 | 1 | 33.3333333 | 4 | 5.0000000 | 1.0000000 | 06-01-1401 | 1.0000000 | .0000000 |
| (12 rows) |
| |
| -- COVAR_SAMP() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(COVAR_SAMP(floor(cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(RANK() OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn AND cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc,cf_olap_windowerr_sale.vn asc rows between current row and floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.pn) following ), |
| win2 as (order by cf_olap_windowerr_sale.cn asc); |
| ERROR: frame ending offset must not be negative |
| -- COVAR_SAMP() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(COVAR_SAMP(floor(cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(RANK() OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn AND cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.cn desc range between unbounded preceding and floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.pn)::integer preceding ), |
| win2 as (order by cf_olap_windowerr_sale.cn asc); |
| ERROR: invalid preceding or following size in window function (seg0 slice1 127.0.0.1:40000 pid=3933) |
| -- COVAR_SAMP() function with partition by and order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(COVAR_SAMP(floor(cf_olap_windowerr_sale.qty+cf_olap_windowerr_sale.vn),floor(cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.cn asc range between unbounded preceding and floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.prc)::integer following ); |
| ERROR: invalid preceding or following size in window function (seg2 slice1 127.0.0.1:40002 pid=19830) |
| -- COVAR_SAMP() function with partition by and order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(COVAR_SAMP(floor(cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.pn asc range between floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.pn)::integer preceding and current row ); |
| ERROR: invalid preceding or following size in window function (seg0 slice1 127.0.0.1:40000 pid=3933) |
| -- COVAR_SAMP() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(COVAR_SAMP(floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.prc, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.vn) as int),NULL) OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.qty, |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.prc)) OVER(partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.qty+cf_olap_windowerr_sale.pn)) OVER(partition by cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.cn desc range between 3 preceding and current row ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win4),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.cn desc range between 3 preceding and current row ), |
| win2 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.cn desc), |
| win3 as (partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc), |
| win4 as (order by cf_olap_windowerr_sale.vn asc); |
| ERROR: division by zero (seg0 slice3 127.0.0.1:25432 pid=55700) |
| -- COVAR_SAMP() function with partition by and order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(COVAR_SAMP(floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.vn),floor(cf_olap_windowerr_sale.pn/(cf_olap_windowerr_sale.prc+1))) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.vn asc range between floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.prc)::integer preceding and unbounded following ); |
| ERROR: invalid preceding or following size in window function (seg1 slice1 127.0.0.1:40001 pid=19829) |
| -- COVAR_SAMP() function with partition by and order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(COVAR_SAMP(floor(cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.pn desc range between current row and floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.qty)::integer following ); |
| ERROR: invalid preceding or following size in window function (seg0 slice1 127.0.0.1:40000 pid=3933) |
| -- COVAR_SAMP() function with partition by and order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(COVAR_SAMP(floor(cf_olap_windowerr_sale.qty*cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn AND cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.vn asc range between floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.qty)::integer following and 0 following ); |
| ERROR: invalid preceding or following size in window function (seg0 slice1 127.0.0.1:40000 pid=19828) |
| -- COVAR_SAMP() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(COVAR_SAMP(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.prc)) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.vn)) OVER(partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc rows between unbounded preceding and floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.qty) preceding ),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc rows between unbounded preceding and floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.qty) preceding ), |
| win2 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc); |
| ERROR: frame ending offset must not be negative (seg1 slice3 127.0.0.1:25433 pid=55716) |
| -- COVAR_SAMP() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt, TO_CHAR(COALESCE(COVAR_SAMP(floor(cf_olap_windowerr_sale.prc+cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(CUME_DIST() OVER(partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.pn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.prc)) OVER(partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc rows between unbounded preceding and current row ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.pn) as int),NULL) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc rows between unbounded preceding and current row ), |
| win2 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.pn asc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc); |
| dt | dt | to_char | qty | vn | to_char | cn | pn | to_char | to_char | to_char | to_char |
| ------------+------------+-------------------+------+----+-------------------+----+-----+-------------------+-------------------+-------------------+------------------- |
| 01-01-1401 | 01-01-1401 | .0000000 | 1100 | 40 | 1.0000000 | 2 | 100 | 1.0000000 | 2400.0000000 | .0000000 | 1.0000000 |
| 03-01-1401 | 03-01-1401 | .0000000 | 1 | 10 | 1.0000000 | 1 | 200 | 1.0000000 | .0000000 | .0000000 | 1.0000000 |
| 04-01-1401 | 04-01-1401 | .0000000 | 1 | 40 | 1.0000000 | 3 | 200 | 1.0000000 | .0000000 | .0000000 | 1.0000000 |
| 05-01-1401 | 05-01-1401 | .0000000 | 1 | 20 | 1.0000000 | 1 | 100 | 1.0000000 | .0000000 | .0000000 | 1.0000000 |
| 05-02-1401 | 05-02-1401 | .0000000 | 1 | 30 | 1.0000000 | 1 | 300 | 1.0000000 | .0000000 | .0000000 | 1.0000000 |
| 06-01-1401 | 06-01-1401 | .0000000 | 1 | 50 | 1.0000000 | 1 | 400 | 1.0000000 | .0000000 | .0000000 | 1.0000000 |
| 06-01-1401 | 06-01-1401 | .0000000 | 1 | 50 | 1.0000000 | 2 | 400 | 1.0000000 | .0000000 | .0000000 | 1.0000000 |
| 06-01-1401 | 06-01-1401 | .0000000 | 12 | 30 | 1.0000000 | 1 | 500 | 1.0000000 | 5.0000000 | .0000000 | 1.0000000 |
| 06-01-1401 | 06-01-1401 | .0000000 | 12 | 30 | .5000000 | 3 | 500 | .5000000 | 5.0000000 | .0000000 | .5000000 |
| 06-01-1401 | 06-01-1401 | .0000000 | 12 | 30 | 1.0000000 | 3 | 600 | 1.0000000 | 5.0000000 | .0000000 | 1.0000000 |
| 06-01-1401 | 06-01-1401 | 1.0000000 | 1 | 40 | .5000000 | 4 | 700 | .5000000 | .0000000 | .0000000 | .5000000 |
| 06-01-1401 | 06-01-1401 | .6666667 | 1 | 40 | 1.0000000 | 4 | 800 | 1.0000000 | .0000000 | .0000000 | 1.0000000 |
| (12 rows) |
| |
| -- COVAR_SAMP() function with partition by and order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(COVAR_SAMP(floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc,cf_olap_windowerr_sale.pn asc rows between floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.pn) preceding and 2 preceding ); |
| ERROR: frame starting offset must not be negative (seg0 slice1 127.0.0.1:25432 pid=55689) |
| -- COVAR_SAMP() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(COVAR_SAMP(floor(cf_olap_windowerr_sale.vn),floor(cf_olap_windowerr_sale.prc*cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty, |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.prc)) OVER(partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc rows between floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.pn) preceding and current row ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.cn) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.pn)) OVER(partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc rows between floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.pn) preceding and current row ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc rows between floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.pn) preceding and current row ), |
| win2 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc), |
| win3 as (order by cf_olap_windowerr_sale.cn asc); |
| ERROR: frame starting offset must not be negative (seg0 slice3 127.0.0.1:25432 pid=55692) |
| -- REGR_AVGX() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(REGR_AVGX(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.qty*cf_olap_windowerr_sale.vn)) OVER(order by cf_olap_windowerr_sale.vn desc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(order by cf_olap_windowerr_sale.vn desc),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.vn asc range between 3 following and 4 following ), |
| win2 as (order by cf_olap_windowerr_sale.vn desc); |
| vn | pn | cn | vn | to_char | to_char | to_char | to_char |
| ----+-----+----+----+-------------------+-------------------+-------------------+------------------- |
| 50 | 400 | 1 | 50 | .0000000 | 1.0000000 | 50.0000000 | .1666667 |
| 50 | 400 | 2 | 50 | .0000000 | 1.0000000 | 50.0000000 | .1666667 |
| 40 | 800 | 4 | 40 | .0000000 | 3.0000000 | 44000.0000000 | .5000000 |
| 40 | 200 | 3 | 40 | .0000000 | 3.0000000 | 44000.0000000 | .5000000 |
| 40 | 700 | 4 | 40 | .0000000 | 3.0000000 | 44000.0000000 | .5000000 |
| 40 | 100 | 2 | 40 | .0000000 | 3.0000000 | 44000.0000000 | .5000000 |
| 30 | 500 | 3 | 30 | .0000000 | 7.0000000 | 44000.0000000 | .8333333 |
| 30 | 300 | 1 | 30 | .0000000 | 7.0000000 | 44000.0000000 | .8333333 |
| 30 | 500 | 1 | 30 | .0000000 | 7.0000000 | 44000.0000000 | .8333333 |
| 30 | 600 | 3 | 30 | .0000000 | 7.0000000 | 44000.0000000 | .8333333 |
| 20 | 100 | 1 | 20 | .0000000 | 11.0000000 | 44000.0000000 | .9166667 |
| 10 | 200 | 1 | 10 | .0000000 | 12.0000000 | 44000.0000000 | 1.0000000 |
| (12 rows) |
| |
| -- REGR_AVGX() function with ONLY order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_AVGX(floor(cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc,cf_olap_windowerr_sale.cn desc,cf_olap_windowerr_sale.vn desc rows between unbounded preceding and floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.vn) preceding ); |
| ERROR: frame ending offset must not be negative |
| -- REGR_AVGX() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(REGR_AVGX(floor(cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.cn) as int),NULL) OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc,cf_olap_windowerr_sale.pn asc rows between unbounded preceding and unbounded following ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc); |
| dt | cn | to_char | vn | pn | to_char |
| ------------+----+-------------------+----+-----+------------------- |
| 01-01-1401 | 2 | 32.0000000 | 40 | 100 | .0000000 |
| 03-01-1401 | 1 | 32.0000000 | 10 | 200 | 1102.0000000 |
| 04-01-1401 | 3 | 32.0000000 | 40 | 200 | .0000000 |
| 05-01-1401 | 1 | 32.0000000 | 20 | 100 | 4.0000000 |
| 05-02-1401 | 1 | 32.0000000 | 30 | 300 | 2.0000000 |
| 06-01-1401 | 1 | 32.0000000 | 50 | 400 | 2.0000000 |
| 06-01-1401 | 2 | 32.0000000 | 50 | 400 | 2.0000000 |
| 06-01-1401 | 1 | 32.0000000 | 30 | 500 | 5.0000000 |
| 06-01-1401 | 3 | 32.0000000 | 30 | 500 | 5.0000000 |
| 06-01-1401 | 3 | 32.0000000 | 30 | 600 | 5.0000000 |
| 06-01-1401 | 4 | 32.0000000 | 40 | 700 | 13.0000000 |
| 06-01-1401 | 4 | 32.0000000 | 40 | 800 | 15.0000000 |
| (12 rows) |
| |
| -- REGR_AVGX() function with ONLY order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(REGR_AVGX(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc,cf_olap_windowerr_sale.vn desc rows between floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.cn) preceding and current row ); |
| ERROR: division by zero |
| -- REGR_AVGX() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(REGR_AVGX(floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.pn) as int),NULL) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win4),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.pn asc range current row ), |
| win2 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc), |
| win4 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.cn asc); |
| ERROR: division by zero (seg0 slice2 127.0.0.1:25432 pid=55700) |
| -- REGR_AVGX() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt, TO_CHAR(COALESCE(REGR_AVGX(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.pn*cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.qty)) OVER(partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.vn desc range between unbounded preceding and current row ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.cn)) OVER(partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.vn desc range between unbounded preceding and current row ),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.vn desc range between unbounded preceding and current row ); |
| ERROR: division by zero (seg0 slice2 127.0.0.1:25432 pid=55689) |
| -- REGR_AVGX() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(REGR_AVGX(floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.prc)) OVER(partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.cn desc range between unbounded preceding and 3 following ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.cn desc range between unbounded preceding and 3 following ), |
| win2 as (order by cf_olap_windowerr_sale.cn asc); |
| ERROR: division by zero (seg0 slice3 127.0.0.1:25432 pid=55689) |
| -- REGR_AVGX() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(REGR_AVGX(floor(cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.pn) as int),NULL) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.cn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.cn desc range between 3 following and 0 following ), |
| win2 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.cn asc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc); |
| qty | pn | cn | prc | to_char | dt | vn | to_char | to_char | to_char | to_char | to_char |
| ------+-----+----+------+-------------------+------------+----+-------------------+-------------------+-------------------+-------------------+------------------- |
| 1100 | 100 | 2 | 2400 | .0000000 | 01-01-1401 | 40 | 1.0000000 | .0000000 | .0000000 | 1.0000000 | .0833333 |
| 1 | 200 | 1 | 0 | .0000000 | 03-01-1401 | 10 | 1.0000000 | .0000000 | .0000000 | 1.0000000 | .1666667 |
| 1 | 200 | 3 | 0 | .0000000 | 04-01-1401 | 40 | 1.0000000 | .0000000 | .0000000 | 1.0000000 | .2500000 |
| 1 | 100 | 1 | 0 | .0000000 | 05-01-1401 | 20 | 1.0000000 | .0000000 | .0000000 | 1.0000000 | .3333333 |
| 1 | 300 | 1 | 0 | .0000000 | 05-02-1401 | 30 | 1.0000000 | .0000000 | .0000000 | 1.0000000 | .4166667 |
| 1 | 400 | 1 | 0 | .0000000 | 06-01-1401 | 50 | 1.0000000 | .0000000 | .0000000 | 1.0000000 | .5000000 |
| 1 | 400 | 2 | 0 | .0000000 | 06-01-1401 | 50 | 1.0000000 | .0000000 | .0000000 | 1.0000000 | .5833333 |
| 12 | 500 | 1 | 5 | .0000000 | 06-01-1401 | 30 | 1.0000000 | .0000000 | .0000000 | 1.0000000 | .6666667 |
| 12 | 500 | 3 | 5 | .0000000 | 06-01-1401 | 30 | 1.0000000 | .0000000 | .0000000 | 1.0000000 | .7500000 |
| 12 | 600 | 3 | 5 | .0000000 | 06-01-1401 | 30 | 1.0000000 | .0000000 | .0000000 | 1.0000000 | .8333333 |
| 1 | 700 | 4 | 1 | .0000000 | 06-01-1401 | 40 | 1.0000000 | .0000000 | .0000000 | 1.0000000 | .9166667 |
| 1 | 800 | 4 | 1 | .0000000 | 06-01-1401 | 40 | 1.0000000 | .0000000 | .0000000 | 1.0000000 | 1.0000000 |
| (12 rows) |
| |
| -- REGR_AVGX() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(REGR_AVGX(floor(cf_olap_windowerr_sale.prc+cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.prc) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.qty, |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.vn asc range between floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.pn)::integer following and unbounded following ), |
| win2 as (partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc); |
| ERROR: invalid preceding or following size in window function (seg0 slice1 127.0.0.1:40000 pid=3933) |
| -- REGR_AVGX() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(REGR_AVGX(floor(cf_olap_windowerr_sale.prc+cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.prc*cf_olap_windowerr_sale.cn)) OVER(partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc,cf_olap_windowerr_sale.pn asc,cf_olap_windowerr_sale.pn desc rows between unbounded preceding and 1 preceding ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.dt, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.qty) as int),NULL) OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn AND cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc,cf_olap_windowerr_sale.pn asc,cf_olap_windowerr_sale.pn desc rows between unbounded preceding and 1 preceding ), |
| win2 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.pn asc), |
| win3 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc); |
| qty | vn | vn | to_char | cn | pn | to_char | to_char | dt | to_char |
| ------+----+----+-------------------+----+-----+-------------------+-------------------+------------+------------------- |
| 1 | 40 | 40 | .0000000 | 3 | 200 | .0000000 | 1.0000000 | 04-01-1401 | .0000000 |
| 12 | 30 | 30 | .0000000 | 3 | 500 | .0000000 | 1.0000000 | 06-01-1401 | .0000000 |
| 12 | 30 | 30 | 3.0000000 | 3 | 600 | 1.0000000 | 1.0000000 | 06-01-1401 | .0000000 |
| 1 | 40 | 40 | .0000000 | 4 | 700 | .0000000 | 1.0000000 | 06-01-1401 | 699.0000000 |
| 1 | 40 | 40 | 4.0000000 | 4 | 800 | 1.0000000 | 1.0000000 | 06-01-1401 | 799.0000000 |
| 1100 | 40 | 40 | .0000000 | 2 | 100 | .0000000 | 1.0000000 | 01-01-1401 | .0000000 |
| 1 | 10 | 10 | .0000000 | 1 | 200 | .0000000 | 1.0000000 | 03-01-1401 | .0000000 |
| 1 | 20 | 20 | .0000000 | 1 | 100 | .0000000 | 1.0000000 | 05-01-1401 | .0000000 |
| 1 | 30 | 30 | .0000000 | 1 | 300 | .0000000 | 1.0000000 | 05-02-1401 | .0000000 |
| 12 | 30 | 30 | 1.0000000 | 1 | 500 | 1.0000000 | 1.0000000 | 06-01-1401 | .0000000 |
| 1 | 50 | 50 | .0000000 | 1 | 400 | .0000000 | 1.0000000 | 06-01-1401 | .0000000 |
| 1 | 50 | 50 | .0000000 | 2 | 400 | .0000000 | 1.0000000 | 06-01-1401 | .0000000 |
| (12 rows) |
| |
| -- REGR_AVGX() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(REGR_AVGX(floor(cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.pn) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(partition by cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(partition by cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc rows between floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.vn) preceding and floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.prc) preceding ), |
| win2 as (partition by cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc); |
| ERROR: frame starting offset must not be negative (seg0 slice3 127.0.0.1:25432 pid=55715) |
| -- REGR_AVGX() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(REGR_AVGX(floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.pn)) OVER(partition by cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc,cf_olap_windowerr_sale.cn asc rows between floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.cn) following and 1 following ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.dt, |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.cn desc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.qty) as int),NULL) OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc,cf_olap_windowerr_sale.cn asc rows between floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.cn) following and 1 following ), |
| win2 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc), |
| win3 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc); |
| qty | to_char | cn | vn | to_char | to_char | dt | to_char | to_char | pn |
| ------+-------------------+----+----+-------------------+-------------------+------------+-------------------+-------------------+----- |
| 1 | .0000000 | 1 | 20 | .0000000 | 1.0000000 | 05-01-1401 | 1.0000000 | 19.0000000 | 100 |
| 1100 | .0000000 | 2 | 40 | .0000000 | 1.0000000 | 01-01-1401 | 1.0000000 | .0000000 | 100 |
| 1 | .0000000 | 1 | 10 | .0000000 | 1.0000000 | 03-01-1401 | 1.0000000 | 9.0000000 | 200 |
| 1 | .0000000 | 1 | 30 | .0000000 | 1.0000000 | 05-02-1401 | 1.0000000 | 29.0000000 | 300 |
| 1 | .0000000 | 1 | 50 | .0000000 | 1.0000000 | 06-01-1401 | 1.0000000 | 49.0000000 | 400 |
| 1 | .0000000 | 2 | 50 | .0000000 | 1.0000000 | 06-01-1401 | 1.0000000 | 49.0000000 | 400 |
| 12 | .0000000 | 1 | 30 | .0000000 | 2.0000000 | 06-01-1401 | 1.0000000 | .0000000 | 500 |
| 12 | .0000000 | 3 | 30 | .0000000 | 1.0000000 | 06-01-1401 | 1.0000000 | .0000000 | 500 |
| 1 | .0000000 | 4 | 40 | .0000000 | 1.0000000 | 06-01-1401 | 1.0000000 | .0000000 | 700 |
| 1 | .0000000 | 3 | 40 | .0000000 | 1.0000000 | 04-01-1401 | 1.0000000 | .0000000 | 200 |
| 12 | .0000000 | 3 | 30 | .0000000 | 2.0000000 | 06-01-1401 | 1.0000000 | .0000000 | 600 |
| 1 | .0000000 | 4 | 40 | .0000000 | 2.0000000 | 06-01-1401 | 1.0000000 | .0000000 | 800 |
| (12 rows) |
| |
| -- REGR_AVGX() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(REGR_AVGX(floor(cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.vn) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.vn)) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.pn*cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.pn) as int),NULL) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc)) OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win4),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc rows between floor(cf_olap_windowerr_sale.cn*cf_olap_windowerr_sale.pn) following and unbounded following ), |
| win2 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc), |
| win4 as (order by cf_olap_windowerr_sale.pn desc); |
| ERROR: division by zero |
| -- REGR_AVGY() function with ONLY order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_AVGY(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn desc range unbounded preceding ); |
| ERROR: division by zero |
| -- REGR_AVGY() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_AVGY(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.prc)) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.vn asc),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn desc range unbounded preceding ), |
| win2 as (order by cf_olap_windowerr_sale.vn asc), |
| win3 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.vn asc); |
| ERROR: division by zero |
| -- REGR_AVGY() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(REGR_AVGY(floor(cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.prc) as int),NULL) OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win4),0),'99999999.9999999'),cf_olap_windowerr_sale.dt |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.pn desc range 4 preceding ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc), |
| win3 as (partition by cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc), |
| win4 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.vn desc); |
| vn | qty | qty | qty | to_char | pn | to_char | to_char | cn | to_char | to_char | dt |
| ----+------+------+------+-------------------+-----+-------------------+-------------------+----+-------------------+-------------------+------------ |
| 40 | 1100 | 1100 | 1100 | 100.0000000 | 100 | .0000000 | .0000000 | 2 | 1.0000000 | 1.0000000 | 01-01-1401 |
| 10 | 1 | 1 | 1 | 200.0000000 | 200 | .0909091 | .0000000 | 1 | 2.0000000 | 1.0000000 | 03-01-1401 |
| 40 | 1 | 1 | 1 | 200.0000000 | 200 | .1818182 | .0000000 | 3 | 3.0000000 | 1.0000000 | 04-01-1401 |
| 20 | 1 | 1 | 1 | 100.0000000 | 100 | .2727273 | .0000000 | 1 | 4.0000000 | 1.0000000 | 05-01-1401 |
| 30 | 1 | 1 | 1 | 300.0000000 | 300 | .3636364 | .0000000 | 1 | 5.0000000 | 1.0000000 | 05-02-1401 |
| 50 | 1 | 1 | 1 | 400.0000000 | 400 | .4545455 | .0000000 | 1 | 6.0000000 | 1.0000000 | 06-01-1401 |
| 30 | 12 | 12 | 12 | 500.0000000 | 500 | .6363636 | .0000000 | 1 | 8.0000000 | 1.0000000 | 06-01-1401 |
| 50 | 1 | 1 | 1 | 400.0000000 | 400 | .5454545 | .0000000 | 2 | 7.0000000 | 1.0000000 | 06-01-1401 |
| 30 | 12 | 12 | 12 | 500.0000000 | 500 | .7272727 | .0000000 | 3 | 9.0000000 | 1.0000000 | 06-01-1401 |
| 30 | 12 | 12 | 12 | 600.0000000 | 600 | .8181818 | .0000000 | 3 | 10.0000000 | 1.0000000 | 06-01-1401 |
| 40 | 1 | 1 | 1 | 700.0000000 | 700 | .9090909 | .0000000 | 4 | 11.0000000 | 1.0000000 | 06-01-1401 |
| 40 | 1 | 1 | 1 | 800.0000000 | 800 | 1.0000000 | .0000000 | 4 | 12.0000000 | 1.0000000 | 06-01-1401 |
| (12 rows) |
| |
| -- REGR_AVGY() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_AVGY(floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.vn) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.cn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.vn asc range between unbounded preceding and floor(cf_olap_windowerr_sale.qty+cf_olap_windowerr_sale.prc)::integer preceding ), |
| win2 as (partition by cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc); |
| ERROR: division by zero |
| -- REGR_AVGY() function with ONLY order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(REGR_AVGY(floor(cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.pn asc range between unbounded preceding and floor(cf_olap_windowerr_sale.qty)::integer following ); |
| ERROR: division by zero |
| -- REGR_AVGY() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(REGR_AVGY(floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.vn),floor(cf_olap_windowerr_sale.prc+cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn asc range between unbounded preceding and floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.pn)::integer following ), |
| win2 as (order by cf_olap_windowerr_sale.pn desc); |
| ERROR: invalid preceding or following size in window function |
| -- REGR_AVGY() function with ONLY order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt, TO_CHAR(COALESCE(REGR_AVGY(floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn AND cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn asc range between floor(cf_olap_windowerr_sale.prc+cf_olap_windowerr_sale.vn)::integer following and unbounded following ); |
| prc | dt | to_char | cn |
| ------+------------+-------------------+---- |
| 5 | 06-01-1401 | .0000000 | 1 |
| 0 | 05-01-1401 | .0000000 | 1 |
| 0 | 05-02-1401 | .0000000 | 1 |
| 0 | 03-01-1401 | .0000000 | 1 |
| 0 | 06-01-1401 | .0000000 | 1 |
| 0 | 06-01-1401 | .0000000 | 2 |
| 2400 | 01-01-1401 | .0000000 | 2 |
| 5 | 06-01-1401 | .0000000 | 3 |
| 5 | 06-01-1401 | .0000000 | 3 |
| 0 | 04-01-1401 | .0000000 | 3 |
| 1 | 06-01-1401 | .0000000 | 4 |
| 1 | 06-01-1401 | .0000000 | 4 |
| (12 rows) |
| |
| -- REGR_AVGY() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(REGR_AVGY(floor(cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.qty) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty, |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.vn)) OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc rows between unbounded preceding and floor(cf_olap_windowerr_sale.prc) following ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc rows between unbounded preceding and floor(cf_olap_windowerr_sale.prc) following ), |
| win2 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc), |
| win3 as (partition by cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.pn asc); |
| vn | to_char | pn | to_char | cn | dt | qty | to_char | to_char |
| ----+-------------------+-----+-------------------+----+------------+------+-------------------+------------------- |
| 20 | 275.7500000 | 100 | 100.0000000 | 1 | 05-01-1401 | 1 | 240.0000000 | 1.0000000 |
| 10 | 550.5000000 | 200 | 200.0000000 | 1 | 03-01-1401 | 1 | 210.0000000 | 2.0000000 |
| 40 | 367.3333333 | 200 | .0000000 | 3 | 04-01-1401 | 1 | 240.0000000 | 2.0000000 |
| 30 | 220.8000000 | 300 | 300.0000000 | 1 | 05-02-1401 | 1 | 330.0000000 | 4.0000000 |
| 50 | 184.1666667 | 400 | 400.0000000 | 1 | 06-01-1401 | 1 | 450.0000000 | 5.0000000 |
| 50 | 158.0000000 | 400 | .0000000 | 2 | 06-01-1401 | 1 | 450.0000000 | 5.0000000 |
| 40 | 95.3333333 | 700 | .0000000 | 4 | 06-01-1401 | 1 | 840.0000000 | 7.0000000 |
| 40 | 95.3333333 | 800 | .0000000 | 4 | 06-01-1401 | 1 | 840.0000000 | 8.0000000 |
| 30 | 95.3333333 | 500 | .0000000 | 3 | 06-01-1401 | 12 | 840.0000000 | 1.0000000 |
| 30 | 95.3333333 | 500 | .0000000 | 1 | 06-01-1401 | 12 | 840.0000000 | 1.0000000 |
| 30 | 95.3333333 | 600 | .0000000 | 3 | 06-01-1401 | 12 | 840.0000000 | 3.0000000 |
| 40 | 95.3333333 | 100 | .0000000 | 2 | 01-01-1401 | 1100 | 840.0000000 | 1.0000000 |
| (12 rows) |
| |
| -- REGR_AVGY() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt, TO_CHAR(COALESCE(REGR_AVGY(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.pn) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty, |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.prc+cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc,cf_olap_windowerr_sale.pn asc rows between floor(cf_olap_windowerr_sale.pn) preceding and 4 preceding ), |
| win2 as (partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc), |
| win3 as (partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.pn desc); |
| pn | dt | dt | to_char | cn | to_char | vn | qty | to_char | to_char | to_char |
| -----+------------+------------+-------------------+----+-------------------+----+------+-------------------+-------------------+------------------- |
| 200 | 03-01-1401 | 03-01-1401 | .0000000 | 1 | .0000000 | 10 | 1 | .0000000 | .0000000 | .0000000 |
| 200 | 04-01-1401 | 04-01-1401 | .0000000 | 3 | .0000000 | 40 | 1 | .0000000 | .0000000 | .0000000 |
| 100 | 05-01-1401 | 05-01-1401 | .0000000 | 1 | .0000000 | 20 | 1 | .0000000 | .0000000 | .0000000 |
| 300 | 05-02-1401 | 05-02-1401 | 24.0000000 | 1 | .0000000 | 30 | 1 | .0000000 | 1.0000000 | 2.0000000 |
| 400 | 06-01-1401 | 06-01-1401 | 12.0000000 | 1 | .0000000 | 50 | 1 | .0000000 | 2.0000000 | 1.0000000 |
| 400 | 06-01-1401 | 06-01-1401 | 8.0000000 | 2 | .0000000 | 50 | 1 | .0000000 | 3.0000000 | 1.0000000 |
| 700 | 06-01-1401 | 06-01-1401 | 3.4285714 | 4 | .0000000 | 40 | 1 | .0000000 | 7.0000000 | 1.0000000 |
| 800 | 06-01-1401 | 06-01-1401 | 3.0000000 | 4 | .0000000 | 40 | 1 | .0000000 | 8.0000000 | 1.0000000 |
| 500 | 06-01-1401 | 06-01-1401 | 6.0000000 | 1 | .0000000 | 30 | 12 | .0000000 | 4.0000000 | 1.0000000 |
| 500 | 06-01-1401 | 06-01-1401 | 4.8000000 | 3 | .0000000 | 30 | 12 | .0000000 | 5.0000000 | 1.0000000 |
| 600 | 06-01-1401 | 06-01-1401 | 4.0000000 | 3 | .0000000 | 30 | 12 | .0000000 | 6.0000000 | 1.0000000 |
| 100 | 01-01-1401 | 01-01-1401 | .0000000 | 2 | .0000000 | 40 | 1100 | .0000000 | .0000000 | .0000000 |
| (12 rows) |
| |
| -- REGR_AVGY() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(REGR_AVGY(floor(cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.prc) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.qty*cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.prc) as int),NULL) OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.vn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc,cf_olap_windowerr_sale.cn asc rows between floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.pn) preceding and current row ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc); |
| ERROR: division by zero |
| -- REGR_AVGY() function with ONLY order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(REGR_AVGY(floor(cf_olap_windowerr_sale.vn),floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc rows between 4 preceding and floor(cf_olap_windowerr_sale.pn) following ); |
| ERROR: division by zero |
| -- REGR_AVGY() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_AVGY(floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.prc) as int),NULL) OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc rows between floor(cf_olap_windowerr_sale.prc+cf_olap_windowerr_sale.vn) preceding and unbounded following ), |
| win2 as (partition by cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc); |
| prc | vn | pn | pn | to_char | to_char |
| ------+----+-----+-----+-------------------+------------------- |
| 0 | 10 | 200 | 200 | 601.4166667 | .0000000 |
| 0 | 20 | 100 | 100 | 601.4166667 | .0000000 |
| 0 | 30 | 300 | 300 | 601.4166667 | 501.0000000 |
| 5 | 30 | 500 | 500 | 601.4166667 | .0000000 |
| 5 | 30 | 500 | 500 | 601.4166667 | .0000000 |
| 5 | 30 | 600 | 600 | 601.4166667 | .0000000 |
| 2400 | 40 | 100 | 100 | 601.4166667 | .0000000 |
| 0 | 40 | 200 | 200 | 601.4166667 | 704.0000000 |
| 1 | 40 | 700 | 700 | 601.4166667 | 704.0000000 |
| 1 | 40 | 800 | 800 | 601.4166667 | 804.0000000 |
| 0 | 50 | 400 | 400 | 601.4166667 | 402.0000000 |
| 0 | 50 | 400 | 400 | 601.4166667 | .0000000 |
| (12 rows) |
| |
| -- REGR_AVGY() function with partition by and order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(REGR_AVGY(floor(cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.cn desc range between floor(cf_olap_windowerr_sale.pn)::integer preceding and floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.vn)::integer preceding ); |
| ERROR: invalid preceding or following size in window function (seg0 slice1 127.0.0.1:40000 pid=3933) |
| -- REGR_AVGY() function with partition by and order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(REGR_AVGY(floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.cn asc range between current row and unbounded following ); |
| ERROR: division by zero (seg1 slice2 127.0.0.1:25433 pid=55690) |
| -- REGR_AVGY() function with partition by and order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(REGR_AVGY(floor(cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.prc+cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.vn desc range between floor(cf_olap_windowerr_sale.vn)::integer following and floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.prc)::integer following ); |
| ERROR: division by zero (seg0 slice3 127.0.0.1:25432 pid=55689) |
| -- REGR_AVGY() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(REGR_AVGY(floor(cf_olap_windowerr_sale.cn*cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty, |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.prc, |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.prc)) OVER(partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.vn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.cn asc range between 4 following and unbounded following ), |
| win2 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc); |
| vn | to_char | cn | dt | qty | to_char | to_char | prc | to_char | to_char |
| ----+-------------------+----+------------+------+-------------------+-------------------+------+-------------------+------------------- |
| 10 | .0000000 | 1 | 03-01-1401 | 1 | .0000000 | 1.0000000 | 0 | .0000000 | .0000000 |
| 20 | .0000000 | 1 | 05-01-1401 | 1 | .0000000 | 1.0000000 | 0 | .0000000 | .0000000 |
| 40 | .0000000 | 2 | 01-01-1401 | 1100 | .0000000 | 1.0000000 | 2400 | 2400.0000000 | .0000000 |
| 40 | .0000000 | 3 | 04-01-1401 | 1 | .0000000 | 1.0000000 | 0 | .0000000 | .0000000 |
| 40 | .0000000 | 4 | 06-01-1401 | 1 | .0000000 | 1.0000000 | 1 | 1.0000000 | .0000000 |
| 40 | .0000000 | 4 | 06-01-1401 | 1 | .0000000 | 2.0000000 | 1 | 1.0000000 | .0000000 |
| 30 | .0000000 | 1 | 05-02-1401 | 1 | .0000000 | 1.0000000 | 0 | .0000000 | .0000000 |
| 30 | .0000000 | 1 | 06-01-1401 | 12 | .0000000 | 1.0000000 | 5 | 5.0000000 | .0000000 |
| 50 | .0000000 | 1 | 06-01-1401 | 1 | .0000000 | 1.0000000 | 0 | .0000000 | .0000000 |
| 50 | .0000000 | 2 | 06-01-1401 | 1 | .0000000 | 1.0000000 | 0 | .0000000 | .0000000 |
| 30 | .0000000 | 3 | 06-01-1401 | 12 | .0000000 | 1.0000000 | 5 | 5.0000000 | .0000000 |
| 30 | .0000000 | 3 | 06-01-1401 | 12 | .0000000 | 2.0000000 | 5 | 5.0000000 | .0000000 |
| (12 rows) |
| |
| -- REGR_AVGY() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(REGR_AVGY(floor(cf_olap_windowerr_sale.vn*cf_olap_windowerr_sale.vn),floor(cf_olap_windowerr_sale.prc+cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.dt, |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.pn) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.prc*cf_olap_windowerr_sale.prc) as int),NULL) OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.prc, |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win4),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.prc)) OVER(partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc rows 2 preceding ),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc rows 2 preceding ), |
| win2 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc), |
| win3 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc), |
| win4 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.cn asc); |
| ERROR: division by zero (seg0 slice3 127.0.0.1:25432 pid=55695) |
| -- REGR_AVGY() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(REGR_AVGY(floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.cn*cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.cn) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.prc, |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.qty) as int),NULL) OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn AND cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc,cf_olap_windowerr_sale.vn asc,cf_olap_windowerr_sale.cn desc rows between unbounded preceding and floor(cf_olap_windowerr_sale.pn) preceding ), |
| win2 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc); |
| pn | vn | to_char | cn | dt | to_char | prc | to_char | to_char |
| -----+----+-------------------+----+------------+-------------------+------+-------------------+------------------- |
| 100 | 40 | .0000000 | 2 | 01-01-1401 | .0000000 | 2400 | 1.0000000 | .0000000 |
| 200 | 10 | .0000000 | 1 | 03-01-1401 | .0000000 | 0 | 1.0000000 | 4.0000000 |
| 200 | 40 | .0000000 | 3 | 04-01-1401 | .0000000 | 0 | 1.0000000 | .0000000 |
| 100 | 20 | .0000000 | 1 | 05-01-1401 | .0000000 | 0 | 1.0000000 | .0000000 |
| 300 | 30 | .0000000 | 1 | 05-02-1401 | .0000000 | 0 | 1.0000000 | .0000000 |
| 400 | 50 | .0000000 | 1 | 06-01-1401 | .0000000 | 0 | 1.0000000 | .0000000 |
| 400 | 50 | .0000000 | 2 | 06-01-1401 | .0000000 | 0 | 1.0000000 | .0000000 |
| 500 | 30 | .0000000 | 1 | 06-01-1401 | .0000000 | 5 | 1.0000000 | .0000000 |
| 500 | 30 | .0000000 | 3 | 06-01-1401 | .0000000 | 5 | 1.0000000 | .0000000 |
| 600 | 30 | .0000000 | 3 | 06-01-1401 | .0000000 | 5 | 2.0000000 | .0000000 |
| 700 | 40 | .0000000 | 4 | 06-01-1401 | .0000000 | 1 | 1.0000000 | .0000000 |
| 800 | 40 | .0000000 | 4 | 06-01-1401 | .0000000 | 1 | 2.0000000 | .0000000 |
| (12 rows) |
| |
| -- REGR_AVGY() function with partition by and order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(REGR_AVGY(floor(cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc,cf_olap_windowerr_sale.cn desc rows between unbounded preceding and unbounded following ); |
| ERROR: division by zero (seg1 slice3 127.0.0.1:25433 pid=55690) |
| -- REGR_AVGY() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(REGR_AVGY(floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.prc*cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc rows between floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.qty) preceding and unbounded following ), |
| win2 as (order by cf_olap_windowerr_sale.pn desc), |
| win3 as (partition by cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.cn desc); |
| ERROR: frame starting offset must not be negative (seg2 slice2 127.0.0.1:25434 pid=55691) |
| -- REGR_AVGY() function with partition by and order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt, TO_CHAR(COALESCE(REGR_AVGY(floor(cf_olap_windowerr_sale.pn*cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc rows between current row and floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.cn) following ); |
| ERROR: frame ending offset must not be negative (seg0 slice2 127.0.0.1:25432 pid=55689) |
| -- REGR_COUNT() function with OVER() clause having ONLY PARTITION BY in combination with other window functions -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_COUNT(floor(cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn |
| , |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.pn) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.dt, |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win4),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc), |
| win3 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.cn asc), |
| win4 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc); |
| vn | pn | pn | to_char | prc | cn | to_char | to_char | to_char | dt | to_char |
| ----+-----+-----+-------------------+------+----+-------------------+-------------------+-------------------+------------+------------------- |
| 40 | 100 | 100 | 1.0000000 | 2400 | 2 | .0000000 | .0000000 | 1.0000000 | 01-01-1401 | 1.0000000 |
| 10 | 200 | 200 | 1.0000000 | 0 | 1 | .0000000 | .0909091 | 1.0000000 | 03-01-1401 | 2.0000000 |
| 40 | 200 | 200 | 1.0000000 | 0 | 3 | .0000000 | .1818182 | 1.0000000 | 04-01-1401 | 3.0000000 |
| 20 | 100 | 100 | 1.0000000 | 0 | 1 | .0000000 | .2727273 | 1.0000000 | 05-01-1401 | 4.0000000 |
| 30 | 300 | 300 | 1.0000000 | 0 | 1 | .0000000 | .3636364 | 1.0000000 | 05-02-1401 | 5.0000000 |
| 50 | 400 | 400 | 1.0000000 | 0 | 1 | .0000000 | .4545455 | 1.0000000 | 06-01-1401 | 6.0000000 |
| 50 | 400 | 400 | 1.0000000 | 0 | 2 | .0000000 | .5454545 | 1.0000000 | 06-01-1401 | 7.0000000 |
| 30 | 500 | 500 | 1.0000000 | 5 | 1 | .0000000 | .6363636 | 1.0000000 | 06-01-1401 | 8.0000000 |
| 30 | 500 | 500 | 2.0000000 | 5 | 3 | .0000000 | .7272727 | 1.0000000 | 06-01-1401 | 9.0000000 |
| 30 | 600 | 600 | 2.0000000 | 5 | 3 | .0000000 | .8181818 | 1.0000000 | 06-01-1401 | 10.0000000 |
| 40 | 700 | 700 | 2.0000000 | 1 | 4 | .0000000 | .9090909 | 1.0000000 | 06-01-1401 | 11.0000000 |
| 40 | 800 | 800 | 2.0000000 | 1 | 4 | .0000000 | 1.0000000 | 1.0000000 | 06-01-1401 | 12.0000000 |
| (12 rows) |
| |
| -- REGR_COUNT() function with ONLY order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_COUNT(floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.vn asc range floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.cn)::integer preceding ); |
| ERROR: invalid preceding or following size in window function |
| -- REGR_COUNT() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt, TO_CHAR(COALESCE(REGR_COUNT(floor(cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.cn) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.prc)) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(order by cf_olap_windowerr_sale.cn desc),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn asc range current row ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc); |
| ERROR: division by zero |
| -- REGR_COUNT() function with ONLY order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(REGR_COUNT(floor(cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn asc range between unbounded preceding and current row ); |
| ERROR: division by zero |
| -- REGR_COUNT() function with ONLY order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(REGR_COUNT(floor(cf_olap_windowerr_sale.qty*cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.prc*cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn asc range between unbounded preceding and floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.vn)::integer following ); |
| ERROR: invalid preceding or following size in window function |
| -- REGR_COUNT() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt, TO_CHAR(COALESCE(REGR_COUNT(floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.vn) as int),NULL) OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn asc range between 1 following and 3 following ), |
| win2 as (order by cf_olap_windowerr_sale.vn desc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc); |
| cn | dt | to_char | to_char | vn | to_char |
| ----+------------+-------------------+-------------------+----+------------------- |
| 2 | 01-01-1401 | 5.0000000 | 2.0000000 | 40 | .0000000 |
| 1 | 03-01-1401 | 7.0000000 | 5.0000000 | 10 | .0000000 |
| 3 | 04-01-1401 | 2.0000000 | 2.0000000 | 40 | .0000000 |
| 1 | 05-01-1401 | 7.0000000 | 4.0000000 | 20 | .0000000 |
| 1 | 05-02-1401 | 7.0000000 | 3.0000000 | 30 | .0000000 |
| 1 | 06-01-1401 | 7.0000000 | 1.0000000 | 50 | .0000000 |
| 2 | 06-01-1401 | 5.0000000 | 1.0000000 | 50 | .0000000 |
| 1 | 06-01-1401 | 7.0000000 | 3.0000000 | 30 | .0000000 |
| 3 | 06-01-1401 | 2.0000000 | 3.0000000 | 30 | .0000000 |
| 3 | 06-01-1401 | 2.0000000 | 3.0000000 | 30 | .0000000 |
| 4 | 06-01-1401 | .0000000 | 2.0000000 | 40 | .0000000 |
| 4 | 06-01-1401 | .0000000 | 2.0000000 | 40 | .0000000 |
| (12 rows) |
| |
| -- REGR_COUNT() function with ONLY order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(REGR_COUNT(floor(cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn AND cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn desc range between floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.cn)::integer following and unbounded following ); |
| ERROR: division by zero |
| -- REGR_COUNT() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_COUNT(floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.prc*cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.prc)) OVER(order by cf_olap_windowerr_sale.vn desc range between floor(cf_olap_windowerr_sale.prc+cf_olap_windowerr_sale.qty)::integer following and unbounded following ),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.vn desc range between floor(cf_olap_windowerr_sale.prc+cf_olap_windowerr_sale.qty)::integer following and unbounded following ), |
| win2 as (order by cf_olap_windowerr_sale.cn desc); |
| ERROR: division by zero |
| -- REGR_COUNT() function with ONLY order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(REGR_COUNT(floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc rows between 5 preceding and current row ); |
| ERROR: division by zero |
| -- REGR_COUNT() function with ONLY order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_COUNT(floor(cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc,cf_olap_windowerr_sale.pn desc,cf_olap_windowerr_sale.cn desc rows between floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.prc) preceding and unbounded following ); |
| ERROR: frame starting offset must not be negative |
| -- REGR_COUNT() function with ONLY order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_COUNT(floor(cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc rows between current row and floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.pn) following ); |
| ERROR: frame ending offset must not be negative |
| -- REGR_COUNT() function with partition by and order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_COUNT(floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.vn asc range between unbounded preceding and unbounded following ); |
| ERROR: division by zero (seg0 slice3 127.0.0.1:25432 pid=55689) |
| -- REGR_COUNT() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_COUNT(floor(cf_olap_windowerr_sale.qty+cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.prc+cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.pn) as int),NULL) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win4),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.pn)) OVER(order by cf_olap_windowerr_sale.vn asc),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.vn asc range between current row and current row ), |
| win2 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.vn desc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc), |
| win4 as (order by cf_olap_windowerr_sale.vn asc); |
| pn | pn | pn | to_char | prc | vn | to_char | cn | to_char | to_char | to_char |
| -----+-----+-----+-------------------+------+----+-------------------+----+-------------------+-------------------+------------------- |
| 200 | 200 | 200 | 1.0000000 | 0 | 10 | 1.0000000 | 1 | .0000000 | 1.0000000 | 1.0000000 |
| 100 | 100 | 100 | 1.0000000 | 0 | 20 | 1.0000000 | 1 | .0000000 | 2.0000000 | 2.0000000 |
| 500 | 500 | 500 | 2.0000000 | 5 | 30 | 1.0000000 | 1 | .0000000 | 3.0000000 | 6.0000000 |
| 600 | 600 | 600 | 1.0000000 | 5 | 30 | 1.0000000 | 3 | .0000000 | 3.0000000 | 6.0000000 |
| 300 | 300 | 300 | 1.0000000 | 0 | 30 | 1.0000000 | 1 | .0000000 | 3.0000000 | 6.0000000 |
| 500 | 500 | 500 | 2.0000000 | 5 | 30 | 1.0000000 | 3 | .0000000 | 3.0000000 | 6.0000000 |
| 200 | 200 | 200 | 1.0000000 | 0 | 40 | 1.0000000 | 3 | .0000000 | 7.0000000 | 10.0000000 |
| 100 | 100 | 100 | 1.0000000 | 2400 | 40 | 1.0000000 | 2 | .0000000 | 7.0000000 | 10.0000000 |
| 800 | 800 | 800 | 1.0000000 | 1 | 40 | 1.0000000 | 4 | .0000000 | 7.0000000 | 10.0000000 |
| 700 | 700 | 700 | 1.0000000 | 1 | 40 | 1.0000000 | 4 | .0000000 | 7.0000000 | 10.0000000 |
| 400 | 400 | 400 | 2.0000000 | 0 | 50 | 1.0000000 | 1 | .0000000 | 11.0000000 | 12.0000000 |
| 400 | 400 | 400 | 2.0000000 | 0 | 50 | 1.0000000 | 2 | .0000000 | 11.0000000 | 12.0000000 |
| (12 rows) |
| |
| -- REGR_COUNT() function with partition by and order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(REGR_COUNT(floor(cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.vn asc range between 3 following and unbounded following ); |
| pn | cn | to_char | prc | dt | vn |
| -----+----+-------------------+------+------------+---- |
| 200 | 1 | .0000000 | 0 | 03-01-1401 | 10 |
| 300 | 1 | .0000000 | 0 | 05-02-1401 | 30 |
| 400 | 2 | .0000000 | 0 | 06-01-1401 | 50 |
| 400 | 1 | .0000000 | 0 | 06-01-1401 | 50 |
| 600 | 3 | .0000000 | 5 | 06-01-1401 | 30 |
| 500 | 3 | .0000000 | 5 | 06-01-1401 | 30 |
| 500 | 1 | .0000000 | 5 | 06-01-1401 | 30 |
| 200 | 3 | .0000000 | 0 | 04-01-1401 | 40 |
| 100 | 1 | .0000000 | 0 | 05-01-1401 | 20 |
| 800 | 4 | .0000000 | 1 | 06-01-1401 | 40 |
| 700 | 4 | .0000000 | 1 | 06-01-1401 | 40 |
| 100 | 2 | .0000000 | 2400 | 01-01-1401 | 40 |
| (12 rows) |
| |
| -- REGR_COUNT() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(REGR_COUNT(floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.vn),floor(cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.vn) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.dt, |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win4),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.cn*cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.cn) as int),NULL) OVER(win5),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc,cf_olap_windowerr_sale.vn desc rows unbounded preceding ), |
| win2 as (partition by cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc), |
| win3 as (order by cf_olap_windowerr_sale.vn desc), |
| win4 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.cn desc), |
| win5 as (partition by cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc); |
| vn | prc | vn | to_char | cn | qty | pn | to_char | dt | to_char | to_char | to_char |
| ----+------+----+-------------------+----+------+-----+-------------------+------------+-------------------+-------------------+------------------- |
| 10 | 0 | 10 | 1.0000000 | 1 | 1 | 200 | .0000000 | 03-01-1401 | 1.0000000 | 1.0000000 | .0000000 |
| 20 | 0 | 20 | 1.0000000 | 1 | 1 | 100 | .0000000 | 05-01-1401 | .9166667 | 1.0000000 | .0000000 |
| 30 | 0 | 30 | 1.0000000 | 1 | 1 | 300 | .0000000 | 05-02-1401 | .8333333 | 1.0000000 | .0000000 |
| 50 | 0 | 50 | 1.0000000 | 1 | 1 | 400 | .0000000 | 06-01-1401 | .1666667 | 1.0000000 | .0000000 |
| 30 | 5 | 30 | 1.0000000 | 1 | 12 | 500 | .0000000 | 06-01-1401 | .8333333 | 1.0000000 | .0000000 |
| 40 | 2400 | 40 | 1.0000000 | 2 | 1100 | 100 | .0000000 | 01-01-1401 | .5000000 | .5000000 | .0000000 |
| 50 | 0 | 50 | 1.0000000 | 2 | 1 | 400 | .0000000 | 06-01-1401 | .1666667 | .5000000 | .0000000 |
| 40 | 0 | 40 | 1.0000000 | 3 | 1 | 200 | .0000000 | 04-01-1401 | .5000000 | .5000000 | .0000000 |
| 30 | 5 | 30 | 1.0000000 | 3 | 12 | 500 | .0000000 | 06-01-1401 | .8333333 | .5000000 | .0000000 |
| 30 | 5 | 30 | 1.0000000 | 3 | 12 | 600 | .0000000 | 06-01-1401 | .8333333 | 1.0000000 | .0000000 |
| 40 | 1 | 40 | 1.0000000 | 4 | 1 | 700 | .0000000 | 06-01-1401 | .5000000 | 1.0000000 | .0000000 |
| 40 | 1 | 40 | 1.0000000 | 4 | 1 | 800 | .0000000 | 06-01-1401 | .5000000 | 1.0000000 | .0000000 |
| (12 rows) |
| |
| -- REGR_COUNT() function with partition by and order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt, TO_CHAR(COALESCE(REGR_COUNT(floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc rows between unbounded preceding and floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc) following ); |
| ERROR: division by zero (seg0 slice3 127.0.0.1:25432 pid=55689) |
| -- REGR_COUNT() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt, TO_CHAR(COALESCE(REGR_COUNT(floor(cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.prc, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.qty) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.vn*cf_olap_windowerr_sale.vn) as int),NULL) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.vn*cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.qty) as int),NULL) OVER(win4),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win4),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc rows between unbounded preceding and 1 following ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc), |
| win4 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc); |
| ERROR: division by zero |
| -- REGR_COUNT() function with partition by and order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_COUNT(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn AND cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc rows between floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.cn) preceding and floor(cf_olap_windowerr_sale.vn) preceding ); |
| ERROR: frame starting offset must not be negative (seg0 slice4 127.0.0.1:25432 pid=55689) |
| -- REGR_COUNT() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(REGR_COUNT(floor(cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.qty) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.vn) as int),NULL) OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.qty, |
| TO_CHAR(COALESCE(RANK() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.pn)) OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.pn)) OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc,cf_olap_windowerr_sale.vn desc,cf_olap_windowerr_sale.pn asc rows between floor(cf_olap_windowerr_sale.qty) preceding and floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.vn) following ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc), |
| win3 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc); |
| cn | to_char | dt | vn | pn | to_char | to_char | qty | to_char | to_char | to_char |
| ----+-------------------+------------+----+-----+-------------------+-------------------+------+-------------------+-------------------+------------------- |
| 1 | 1.0000000 | 03-01-1401 | 10 | 200 | 200.0000000 | .0000000 | 1 | 1.0000000 | 200.0000000 | 200.0000000 |
| 1 | 1.0000000 | 05-01-1401 | 20 | 100 | 100.0000000 | .0000000 | 1 | 1.0000000 | 200.0000000 | 200.0000000 |
| 1 | 1.0000000 | 05-02-1401 | 30 | 300 | 300.0000000 | .0000000 | 1 | 1.0000000 | 300.0000000 | 300.0000000 |
| 1 | 1.0000000 | 06-01-1401 | 50 | 400 | 400.0000000 | .0000000 | 1 | 1.0000000 | 400.0000000 | 400.0000000 |
| 1 | 3.0000000 | 06-01-1401 | 30 | 500 | .0000000 | .0000000 | 12 | 1.0000000 | 500.0000000 | 500.0000000 |
| 2 | 1.0000000 | 01-01-1401 | 40 | 100 | .0000000 | .0000000 | 1100 | 1.0000000 | 100.0000000 | 100.0000000 |
| 2 | 2.0000000 | 06-01-1401 | 50 | 400 | 505.0000000 | .0000000 | 1 | 1.0000000 | 400.0000000 | 400.0000000 |
| 3 | 1.0000000 | 04-01-1401 | 40 | 200 | 300.0000000 | .0000000 | 1 | 1.0000000 | 200.0000000 | 200.0000000 |
| 3 | 4.0000000 | 06-01-1401 | 30 | 500 | .0000000 | .0000000 | 12 | 1.0000000 | 500.0000000 | 500.0000000 |
| 3 | 5.0000000 | 06-01-1401 | 30 | 600 | 2500.0000000 | .0000000 | 12 | 1.0000000 | 600.0000000 | 600.0000000 |
| 4 | 2.0000000 | 06-01-1401 | 40 | 700 | .0000000 | .0000000 | 1 | 1.0000000 | 700.0000000 | 700.0000000 |
| 4 | 2.0000000 | 06-01-1401 | 40 | 800 | .0000000 | .0000000 | 1 | 1.0000000 | 800.0000000 | 800.0000000 |
| (12 rows) |
| |
| -- REGR_INTERCEPT() function with NULL OVER() clause -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(REGR_INTERCEPT(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (); |
| ERROR: division by zero |
| -- REGR_INTERCEPT() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_INTERCEPT(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.pn) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(RANK() OVER(partition by cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.prc)) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.vn)) OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.pn asc range unbounded preceding ), |
| win2 as (partition by cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc); |
| ERROR: division by zero |
| -- REGR_INTERCEPT() function with ONLY order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_INTERCEPT(floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn asc range between current row and unbounded following ); |
| ERROR: division by zero |
| -- REGR_INTERCEPT() function with ONLY order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(REGR_INTERCEPT(floor(cf_olap_windowerr_sale.vn),floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn desc range between floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.vn)::integer following and floor(cf_olap_windowerr_sale.pn)::integer following ); |
| ERROR: invalid preceding or following size in window function |
| -- REGR_INTERCEPT() function with ONLY order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(REGR_INTERCEPT(floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc rows unbounded preceding ); |
| ERROR: division by zero |
| -- REGR_INTERCEPT() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(REGR_INTERCEPT(floor(cf_olap_windowerr_sale.vn),floor(cf_olap_windowerr_sale.qty+cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.prc) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.dt, |
| TO_CHAR(COALESCE(RANK() OVER(win4),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc rows floor(cf_olap_windowerr_sale.qty) preceding ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc), |
| win3 as (partition by cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc), |
| win4 as (partition by cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.vn desc); |
| cn | qty | pn | qty | to_char | to_char | vn | to_char | to_char | dt | to_char |
| ----+------+-----+------+-------------------+-------------------+----+-------------------+-------------------+------------+------------------- |
| 1 | 1 | 400 | 1 | .0000000 | .0000000 | 50 | 6.0000000 | 1.0000000 | 06-01-1401 | 1.0000000 |
| 1 | 1 | 300 | 1 | .0000000 | .0000000 | 30 | 5.0000000 | 1.0000000 | 05-02-1401 | 2.0000000 |
| 1 | 12 | 500 | 12 | 32.8312069 | .0000000 | 30 | 8.0000000 | 3.0000000 | 06-01-1401 | 2.0000000 |
| 1 | 1 | 100 | 1 | .0000000 | .0000000 | 20 | 4.0000000 | 1.0000000 | 05-01-1401 | 4.0000000 |
| 1 | 1 | 200 | 1 | 9.9454545 | .0000000 | 10 | 2.0000000 | 1.0000000 | 03-01-1401 | 5.0000000 |
| 2 | 1 | 400 | 1 | 50.0000000 | .0000000 | 50 | 7.0000000 | 2.0000000 | 06-01-1401 | 1.0000000 |
| 2 | 1100 | 100 | 1100 | .0000000 | .0000000 | 40 | 1.0000000 | 1.0000000 | 01-01-1401 | 2.0000000 |
| 3 | 1 | 200 | 1 | -20.0000000 | .0000000 | 40 | 3.0000000 | 1.0000000 | 04-01-1401 | 1.0000000 |
| 3 | 12 | 600 | 12 | 32.1819373 | .0000000 | 30 | 10.0000000 | 5.0000000 | 06-01-1401 | 2.0000000 |
| 3 | 12 | 500 | 12 | 32.4666777 | .0000000 | 30 | 9.0000000 | 4.0000000 | 06-01-1401 | 2.0000000 |
| 4 | 1 | 700 | 1 | 45.0000000 | .0000000 | 40 | 11.0000000 | 6.0000000 | 06-01-1401 | 1.0000000 |
| 4 | 1 | 800 | 1 | .0000000 | .0000000 | 40 | 12.0000000 | 7.0000000 | 06-01-1401 | 1.0000000 |
| (12 rows) |
| |
| -- REGR_INTERCEPT() function with ONLY order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(REGR_INTERCEPT(floor(cf_olap_windowerr_sale.pn*cf_olap_windowerr_sale.vn),floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc,cf_olap_windowerr_sale.vn desc,cf_olap_windowerr_sale.vn asc rows current row ); |
| ERROR: division by zero |
| -- REGR_INTERCEPT() function with ONLY order by having rows based framing clause in combination with other functions -- |
| -- Add 1 to REGR_INTERCEPT values to make sure they are not zero. Otherwise some platforms show them as -.00000 |
| SELECT cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(REGR_INTERCEPT(floor(cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.pn)) OVER(win1),0)+1,'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.vn) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.prc*cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.prc*cf_olap_windowerr_sale.prc) as int),NULL) OVER(win4),0),'99999999.9999999'),cf_olap_windowerr_sale.dt |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc,cf_olap_windowerr_sale.cn asc rows between unbounded preceding and current row ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc), |
| win3 as (order by cf_olap_windowerr_sale.cn desc), |
| win4 as (partition by cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc); |
| prc | to_char | cn | to_char | vn | to_char | to_char | to_char | to_char | dt |
| ------+-------------------+----+-------------------+----+-------------------+-------------------+-------------------+-------------------+------------ |
| 2400 | 1.0000000 | 2 | .0000000 | 40 | 1.0000000 | 1.0000000 | 6.0000000 | .0000000 | 01-01-1401 |
| 0 | 1.0000000 | 1 | .0000000 | 10 | 2.0000000 | 2.0000000 | 8.0000000 | .0000000 | 03-01-1401 |
| 0 | 1.0000000 | 3 | .0000000 | 40 | 3.0000000 | 3.0000000 | 3.0000000 | .0000000 | 04-01-1401 |
| 0 | 1.0000000 | 1 | .0000000 | 20 | 4.0000000 | 4.0000000 | 8.0000000 | .0000000 | 05-01-1401 |
| 0 | 1.0000000 | 1 | .0000000 | 30 | 5.0000000 | 5.0000000 | 8.0000000 | .0000000 | 05-02-1401 |
| 0 | 1.0000000 | 1 | .0000000 | 50 | 6.0000000 | 6.0000000 | 8.0000000 | .0000000 | 06-01-1401 |
| 0 | 1.0000000 | 2 | .0000000 | 50 | 7.0000000 | 7.0000000 | 6.0000000 | .0000000 | 06-01-1401 |
| 5 | 1.0000000 | 1 | .0000000 | 30 | 8.0000000 | 8.0000000 | 8.0000000 | .0000000 | 06-01-1401 |
| 5 | 1.0000000 | 3 | .0000000 | 30 | 9.0000000 | 9.0000000 | 3.0000000 | .0000000 | 06-01-1401 |
| 5 | 1.0000000 | 3 | .0000000 | 30 | 10.0000000 | 10.0000000 | 3.0000000 | .0000000 | 06-01-1401 |
| 1 | 1.0000000 | 4 | .0000000 | 40 | 11.0000000 | 11.0000000 | 1.0000000 | 150.0000000 | 06-01-1401 |
| 1 | 1.0000000 | 4 | .0000000 | 40 | 12.0000000 | 12.0000000 | 1.0000000 | 40.0000000 | 06-01-1401 |
| (12 rows) |
| |
| -- REGR_INTERCEPT() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(REGR_INTERCEPT(floor(cf_olap_windowerr_sale.vn),floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc)) OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc,cf_olap_windowerr_sale.cn asc,cf_olap_windowerr_sale.vn asc rows between unbounded preceding and 4 following ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.cn)) OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc,cf_olap_windowerr_sale.cn asc,cf_olap_windowerr_sale.vn asc rows between unbounded preceding and 4 following ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc,cf_olap_windowerr_sale.cn asc,cf_olap_windowerr_sale.vn asc rows between unbounded preceding and 4 following ), |
| win2 as (order by cf_olap_windowerr_sale.cn desc); |
| ERROR: division by zero |
| -- REGR_INTERCEPT() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(REGR_INTERCEPT(floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.cn) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt, |
| TO_CHAR(COALESCE(RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.cn)) OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc rows between floor(cf_olap_windowerr_sale.prc) preceding and floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.qty) preceding ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc rows between floor(cf_olap_windowerr_sale.prc) preceding and floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.qty) preceding ), |
| win2 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc), |
| win3 as (order by cf_olap_windowerr_sale.vn desc); |
| ERROR: frame ending offset must not be negative |
| -- REGR_INTERCEPT() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(REGR_INTERCEPT(floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.vn) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.pn) as int),NULL) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.cn)) OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc rows between 1 preceding and current row ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc); |
| vn | vn | vn | cn | to_char | to_char | to_char | to_char | to_char |
| ----+----+----+----+-------------------+-------------------+-------------------+-------------------+------------------- |
| 40 | 40 | 40 | 2 | .0000000 | 102.0000000 | .0000000 | .0000000 | 2.0000000 |
| 10 | 10 | 10 | 1 | 11.1308017 | 201.0000000 | -799.0000000 | .0000000 | 2.0000000 |
| 40 | 40 | 40 | 3 | .3333333 | 203.0000000 | .0000000 | .0000000 | 3.0000000 |
| 20 | 20 | 20 | 1 | -1.0000000 | 203.0000000 | .0000000 | .0000000 | 3.0000000 |
| 30 | 30 | 30 | 1 | 1.0000000 | 301.0000000 | .0000000 | .0000000 | 3.0000000 |
| 50 | 50 | 50 | 1 | 1.0000000 | 401.0000000 | .0000000 | .0000000 | 3.0000000 |
| 50 | 50 | 50 | 2 | .0000000 | 402.0000000 | .0000000 | .0000000 | 3.0000000 |
| 30 | 30 | 30 | 1 | 10.0000000 | 501.0000000 | .0000000 | .0000000 | 3.0000000 |
| 30 | 30 | 30 | 3 | .0000000 | 503.0000000 | .0000000 | .0000000 | 3.0000000 |
| 30 | 30 | 30 | 3 | .0000000 | 603.0000000 | .0000000 | .0000000 | 3.0000000 |
| 40 | 40 | 40 | 4 | 13.3571429 | 704.0000000 | .0000000 | .0000000 | 4.0000000 |
| 40 | 40 | 40 | 4 | .0000000 | 804.0000000 | .0000000 | .0000000 | 4.0000000 |
| (12 rows) |
| |
| -- REGR_INTERCEPT() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_INTERCEPT(floor(cf_olap_windowerr_sale.vn*cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc rows between floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.prc) preceding and unbounded following ), |
| win2 as (partition by cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.pn desc); |
| ERROR: division by zero (seg0 slice2 127.0.0.1:25432 pid=55689) |
| -- REGR_INTERCEPT() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(REGR_INTERCEPT(floor(cf_olap_windowerr_sale.prc+cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.vn*cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.cn) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc rows between floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.pn) following and floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.cn) following ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc); |
| ERROR: frame starting offset must not be negative |
| -- REGR_INTERCEPT() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(REGR_INTERCEPT(floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.pn)) OVER(partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.cn desc range unbounded preceding ),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.cn desc range unbounded preceding ), |
| win2 as (order by cf_olap_windowerr_sale.vn asc), |
| win3 as (order by cf_olap_windowerr_sale.cn asc); |
| ERROR: division by zero (seg0 slice2 127.0.0.1:25432 pid=55689) |
| -- REGR_INTERCEPT() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(REGR_INTERCEPT(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.cn*cf_olap_windowerr_sale.qty)) OVER(partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.pn asc range between unbounded preceding and floor(cf_olap_windowerr_sale.vn)::integer preceding ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.vn)) OVER(partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.pn asc range between unbounded preceding and floor(cf_olap_windowerr_sale.vn)::integer preceding ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.pn*cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.pn) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(partition by cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.pn asc range between unbounded preceding and floor(cf_olap_windowerr_sale.vn)::integer preceding ), |
| win2 as (partition by cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc); |
| vn | cn | pn | dt | vn | to_char | to_char | to_char | to_char | to_char |
| ----+----+-----+------------+----+-------------------+-------------------+-------------------+-------------------+------------------- |
| 50 | 1 | 400 | 06-01-1401 | 50 | .0000000 | .0000000 | .0000000 | .0000000 | .0000000 |
| 50 | 2 | 400 | 06-01-1401 | 50 | .0000000 | .0000000 | .0000000 | .0000000 | 1.0000000 |
| 30 | 3 | 600 | 06-01-1401 | 30 | .0000000 | .0000000 | .0000000 | .0000000 | .0000000 |
| 40 | 4 | 800 | 06-01-1401 | 40 | .0000000 | .0000000 | .0000000 | .0000000 | .0000000 |
| 10 | 1 | 200 | 03-01-1401 | 10 | .0000000 | .0000000 | .0000000 | .0000000 | .0000000 |
| 40 | 3 | 200 | 04-01-1401 | 40 | .0000000 | .0000000 | .0000000 | .0000000 | 1.0000000 |
| 30 | 1 | 300 | 05-02-1401 | 30 | .0000000 | .0000000 | .0000000 | .0000000 | .0000000 |
| 40 | 2 | 100 | 01-01-1401 | 40 | .0000000 | .0000000 | .0000000 | .0000000 | .0000000 |
| 20 | 1 | 100 | 05-01-1401 | 20 | .0000000 | .0000000 | .0000000 | .0000000 | 1.0000000 |
| 30 | 1 | 500 | 06-01-1401 | 30 | .0000000 | .0000000 | .0000000 | .0000000 | .0000000 |
| 30 | 3 | 500 | 06-01-1401 | 30 | .0000000 | .0000000 | .0000000 | .0000000 | 1.0000000 |
| 40 | 4 | 700 | 06-01-1401 | 40 | .0000000 | .0000000 | .0000000 | .0000000 | .0000000 |
| (12 rows) |
| |
| -- REGR_INTERCEPT() function with partition by and order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(REGR_INTERCEPT(floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.vn asc range between floor(cf_olap_windowerr_sale.cn)::integer preceding and current row ); |
| ERROR: division by zero (seg0 slice2 127.0.0.1:25432 pid=55689) |
| -- REGR_INTERCEPT() function with partition by and order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(REGR_INTERCEPT(floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.vn desc range between current row and current row ); |
| ERROR: division by zero (seg0 slice2 127.0.0.1:25432 pid=55689) |
| -- REGR_INTERCEPT() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_INTERCEPT(floor(cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.prc)) OVER(partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.cn desc range between current row and unbounded following ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.cn) as int),NULL) OVER(win4),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.vn)) OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.cn desc range between current row and unbounded following ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc), |
| win3 as (order by cf_olap_windowerr_sale.vn asc), |
| win4 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc); |
| ERROR: division by zero |
| -- REGR_INTERCEPT() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_INTERCEPT(floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.dt, |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.vn*cf_olap_windowerr_sale.pn)) OVER(partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.vn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.vn) as int),NULL) OVER(win4),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc rows current row ), |
| win2 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.cn asc), |
| win3 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.vn asc), |
| win4 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc); |
| ERROR: division by zero (seg0 slice3 127.0.0.1:25432 pid=55695) |
| -- REGR_INTERCEPT() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(REGR_INTERCEPT(floor(cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.prc)) OVER(partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc rows between unbounded preceding and floor(cf_olap_windowerr_sale.prc) preceding ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.qty) as int),NULL) OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win4),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(partition by cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc rows between unbounded preceding and floor(cf_olap_windowerr_sale.prc) preceding ), |
| win2 as (order by cf_olap_windowerr_sale.pn desc), |
| win3 as (partition by cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc), |
| win4 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.pn desc); |
| pn | pn | qty | dt | qty | qty | to_char | to_char | to_char | to_char | cn | to_char | to_char |
| -----+-----+------+------------+------+------+-------------------+-------------------+-------------------+-------------------+----+-------------------+------------------- |
| 100 | 100 | 1100 | 01-01-1401 | 1100 | 1100 | .0000000 | 11.0000000 | .0000000 | .0000000 | 2 | .0000000 | .0000000 |
| 200 | 200 | 1 | 03-01-1401 | 1 | 1 | .0000000 | 9.0000000 | .0000000 | .0000000 | 1 | .0000000 | .0000000 |
| 200 | 200 | 1 | 04-01-1401 | 1 | 1 | .0000000 | 9.0000000 | .0000000 | .0000000 | 3 | .0000000 | .0000000 |
| 100 | 100 | 1 | 05-01-1401 | 1 | 1 | .0000000 | 11.0000000 | .0000000 | .0000000 | 1 | .0000000 | .2500000 |
| 300 | 300 | 1 | 05-02-1401 | 1 | 1 | .0000000 | 8.0000000 | .0000000 | .0000000 | 1 | .0000000 | .5000000 |
| 500 | 500 | 12 | 06-01-1401 | 12 | 12 | .0000000 | 4.0000000 | .0000000 | .0000000 | 1 | .0000000 | 1.0000000 |
| 400 | 400 | 1 | 06-01-1401 | 1 | 1 | .0000000 | 6.0000000 | .0000000 | .0000000 | 1 | 1.0000000 | .7500000 |
| 400 | 400 | 1 | 06-01-1401 | 1 | 1 | 1.0000000 | 6.0000000 | .0000000 | .0000000 | 2 | .0000000 | 1.0000000 |
| 600 | 600 | 12 | 06-01-1401 | 12 | 12 | .0000000 | 3.0000000 | .0000000 | .0000000 | 3 | .0000000 | 1.0000000 |
| 500 | 500 | 12 | 06-01-1401 | 12 | 12 | .0000000 | 4.0000000 | .0000000 | .0000000 | 3 | 1.0000000 | .5000000 |
| 800 | 800 | 1 | 06-01-1401 | 1 | 1 | .0000000 | 1.0000000 | .0000000 | .0000000 | 4 | .0000000 | 1.0000000 |
| 700 | 700 | 1 | 06-01-1401 | 1 | 1 | .0000000 | 2.0000000 | .0000000 | .0000000 | 4 | 1.0000000 | .0000000 |
| (12 rows) |
| |
| -- REGR_INTERCEPT() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_INTERCEPT(floor(cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.vn) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.prc, |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(partition by cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.prc+cf_olap_windowerr_sale.cn)) OVER(partition by cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc,cf_olap_windowerr_sale.cn desc rows between unbounded preceding and current row ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc,cf_olap_windowerr_sale.cn desc rows between unbounded preceding and current row ), |
| win2 as (partition by cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc), |
| win3 as (order by cf_olap_windowerr_sale.pn desc); |
| vn | dt | pn | to_char | cn | to_char | prc | to_char | to_char | to_char | to_char |
| ----+------------+-----+-------------------+----+-------------------+------+-------------------+-------------------+-------------------+------------------- |
| 40 | 06-01-1401 | 800 | 7.7941176 | 4 | .0000000 | 1 | .0000000 | 2.0000000 | 1.0000000 | 12.0000000 |
| 40 | 06-01-1401 | 700 | 6.5000000 | 4 | .0000000 | 1 | .0909091 | 1.0000000 | 1.0000000 | 12.0000000 |
| 30 | 06-01-1401 | 600 | 2.1000000 | 3 | .0000000 | 5 | .1818182 | 3.0000000 | 1.0000000 | 12.0000000 |
| 30 | 06-01-1401 | 500 | 12.0000000 | 1 | .0000000 | 5 | .2727273 | 1.0000000 | 1.0000000 | 12.0000000 |
| 30 | 06-01-1401 | 500 | 3.0000000 | 3 | .0000000 | 5 | .2727273 | 2.0000000 | 1.0000000 | 12.0000000 |
| 50 | 06-01-1401 | 400 | .0000000 | 1 | .0000000 | 0 | .4545455 | 5.0000000 | 1.0000000 | 1.0000000 |
| 50 | 06-01-1401 | 400 | 1.0000000 | 2 | .0000000 | 0 | .4545455 | 6.0000000 | 1.0000000 | 1.0000000 |
| 30 | 05-02-1401 | 300 | .0000000 | 1 | .0000000 | 0 | .6363636 | 4.0000000 | 1.0000000 | 1.0000000 |
| 40 | 04-01-1401 | 200 | .0000000 | 3 | .0000000 | 0 | .7272727 | 2.0000000 | 3.0000000 | 1.0000000 |
| 10 | 03-01-1401 | 200 | .0000000 | 1 | .0000000 | 0 | .7272727 | 1.0000000 | 1.0000000 | 1.0000000 |
| 40 | 01-01-1401 | 100 | .0000000 | 2 | .0000000 | 2400 | .9090909 | 1.0000000 | 2402.0000000 | 1100.0000000 |
| 20 | 05-01-1401 | 100 | .0000000 | 1 | .0000000 | 0 | .9090909 | 3.0000000 | 1.0000000 | 1.0000000 |
| (12 rows) |
| |
| -- REGR_INTERCEPT() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(REGR_INTERCEPT(floor(cf_olap_windowerr_sale.vn),floor(cf_olap_windowerr_sale.prc*cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.vn)) OVER(partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc rows between floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.vn) preceding and current row ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.qty)) OVER(partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc rows between floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.vn) preceding and current row ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc rows between floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.vn) preceding and current row ), |
| win2 as (order by cf_olap_windowerr_sale.pn asc); |
| ERROR: frame starting offset must not be negative (seg0 slice4 127.0.0.1:25432 pid=55689) |
| -- REGR_INTERCEPT() function with partition by and order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(REGR_INTERCEPT(floor(cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc,cf_olap_windowerr_sale.pn asc,cf_olap_windowerr_sale.cn asc rows between floor(cf_olap_windowerr_sale.qty+cf_olap_windowerr_sale.qty) following and floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.cn) following ); |
| ERROR: frame ending offset must not be negative (seg0 slice3 127.0.0.1:25432 pid=55689) |
| -- REGR_R2() function with ONLY order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_R2(floor(cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn asc range floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.qty)::integer preceding ); |
| ERROR: invalid preceding or following size in window function |
| -- REGR_R2() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(REGR_R2(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.prc+cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.qty) as int),NULL) OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn desc range current row ), |
| win2 as (order by cf_olap_windowerr_sale.cn desc), |
| win3 as (partition by cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc); |
| pn | cn | qty | cn | prc | to_char | to_char | to_char | to_char |
| -----+----+------+----+------+-------------------+-------------------+-------------------+------------------- |
| 100 | 2 | 1100 | 2 | 2400 | 1.0000000 | .5833333 | .5833333 | .0000000 |
| 100 | 1 | 1 | 1 | 0 | 1.0000000 | 1.0000000 | 1.0000000 | .0000000 |
| 200 | 1 | 1 | 1 | 0 | 1.0000000 | 1.0000000 | 1.0000000 | .0000000 |
| 200 | 3 | 1 | 3 | 0 | 1.0000000 | .4166667 | .4166667 | .0000000 |
| 300 | 1 | 1 | 1 | 0 | 1.0000000 | 1.0000000 | 1.0000000 | .0000000 |
| 400 | 1 | 1 | 1 | 0 | 1.0000000 | 1.0000000 | 1.0000000 | .0000000 |
| 400 | 2 | 1 | 2 | 0 | 1.0000000 | .5833333 | .5833333 | .0000000 |
| 500 | 1 | 12 | 1 | 5 | 1.0000000 | 1.0000000 | 1.0000000 | .0000000 |
| 500 | 3 | 12 | 3 | 5 | 1.0000000 | .4166667 | .4166667 | .0000000 |
| 600 | 3 | 12 | 3 | 5 | 1.0000000 | .4166667 | .4166667 | .0000000 |
| 700 | 4 | 1 | 4 | 1 | .0000000 | .1666667 | .1666667 | .0000000 |
| 800 | 4 | 1 | 4 | 1 | .0000000 | .1666667 | .1666667 | .0000000 |
| (12 rows) |
| |
| -- REGR_R2() function with ONLY order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(REGR_R2(floor(cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.vn asc range between floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.qty)::integer preceding and 2 preceding ); |
| ERROR: invalid preceding or following size in window function |
| -- REGR_R2() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(REGR_R2(floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.cn*cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.cn) as int),NULL) OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.dt, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.prc*cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.pn) as int),NULL) OVER(win4),0),'99999999.9999999'),cf_olap_windowerr_sale.prc, |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.qty)) OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn desc range between floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.pn)::integer preceding and current row ), |
| win2 as (order by cf_olap_windowerr_sale.vn asc), |
| win3 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc), |
| win4 as (partition by cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc); |
| ERROR: division by zero |
| -- REGR_R2() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(REGR_R2(floor(cf_olap_windowerr_sale.cn*cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.pn) as int),NULL) OVER(win4),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win5),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc rows floor(cf_olap_windowerr_sale.vn*cf_olap_windowerr_sale.cn) preceding ), |
| win2 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.vn desc), |
| win3 as (order by cf_olap_windowerr_sale.pn desc), |
| win4 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc), |
| win5 as (order by cf_olap_windowerr_sale.cn desc); |
| qty | to_char | cn | to_char | dt | vn | to_char | pn | to_char | to_char | to_char |
| ------+-------------------+----+-------------------+------------+----+-------------------+-----+-------------------+-------------------+------------------- |
| 1 | .9999964 | 4 | 1.0000000 | 06-01-1401 | 40 | 1.0000000 | 800 | .0000000 | 1.0000000 | .0000000 |
| 1 | .9999965 | 4 | 1.0000000 | 06-01-1401 | 40 | 2.0000000 | 700 | .0000000 | 1.0000000 | .0000000 |
| 12 | .9999965 | 3 | 1.0000000 | 06-01-1401 | 30 | 3.0000000 | 600 | .0000000 | 1.0000000 | .1818182 |
| 1 | 1.0000000 | 3 | 1.0000000 | 04-01-1401 | 40 | 7.0000000 | 200 | .0000000 | 1.0000000 | .1818182 |
| 12 | .9999976 | 3 | 1.0000000 | 06-01-1401 | 30 | 4.0000000 | 500 | .0000000 | 1.0000000 | .1818182 |
| 1 | 1.0000000 | 2 | 1.0000000 | 06-01-1401 | 50 | 5.0000000 | 400 | .0000000 | 1.0000000 | .4545455 |
| 1100 | .0000000 | 2 | 1.0000000 | 01-01-1401 | 40 | 8.0000000 | 100 | .0000000 | 1.0000000 | .4545455 |
| 12 | .9999989 | 1 | 1.0000000 | 06-01-1401 | 30 | 4.0000000 | 500 | .0000000 | 1.0000000 | .6363636 |
| 1 | 1.0000000 | 1 | 1.0000000 | 06-01-1401 | 50 | 5.0000000 | 400 | .0000000 | 1.0000000 | .6363636 |
| 1 | 1.0000000 | 1 | 1.0000000 | 05-02-1401 | 30 | 6.0000000 | 300 | .0000000 | 1.0000000 | .6363636 |
| 1 | 1.0000000 | 1 | 1.0000000 | 05-01-1401 | 20 | 8.0000000 | 100 | .0000000 | 1.0000000 | .6363636 |
| 1 | 1.0000000 | 1 | 1.0000000 | 03-01-1401 | 10 | 7.0000000 | 200 | .0000000 | 1.0000000 | .6363636 |
| (12 rows) |
| |
| -- REGR_R2() function with ONLY order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(REGR_R2(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.cn*cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn AND cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc rows between unbounded preceding and floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.vn) preceding ); |
| ERROR: frame ending offset must not be negative |
| -- REGR_R2() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(REGR_R2(floor(cf_olap_windowerr_sale.prc+cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.qty*cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.qty)) OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc,cf_olap_windowerr_sale.vn desc,cf_olap_windowerr_sale.pn desc rows between floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.prc) preceding and current row ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.prc)) OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc,cf_olap_windowerr_sale.vn desc,cf_olap_windowerr_sale.pn desc rows between floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.prc) preceding and current row ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.pn) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.qty+cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.prc/(cf_olap_windowerr_sale.prc+1)) as int),NULL) OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc,cf_olap_windowerr_sale.vn desc,cf_olap_windowerr_sale.pn desc rows between floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.prc) preceding and current row ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc); |
| ERROR: frame starting offset must not be negative |
| -- REGR_R2() function with ONLY order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(REGR_R2(floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc,cf_olap_windowerr_sale.pn desc,cf_olap_windowerr_sale.vn asc rows between floor(cf_olap_windowerr_sale.pn) preceding and unbounded following ); |
| ERROR: division by zero |
| -- REGR_R2() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_R2(floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.vn),floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.cn)) OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc,cf_olap_windowerr_sale.cn desc rows between 2 preceding and unbounded following ),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn AND cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc,cf_olap_windowerr_sale.cn desc rows between 2 preceding and unbounded following ), |
| win2 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc); |
| ERROR: division by zero |
| -- REGR_R2() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(REGR_R2(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.pn) as int),NULL) OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.cn desc range between unbounded preceding and 0 preceding ), |
| win2 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.cn desc), |
| win3 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc); |
| cn | cn | to_char | prc | dt | vn | to_char | to_char | to_char | to_char | pn |
| ----+----+-------------------+------+------------+----+-------------------+-------------------+-------------------+-------------------+----- |
| 3 | 3 | .0000000 | 0 | 04-01-1401 | 40 | 1.0000000 | 1.0000000 | 1.0000000 | .0000000 | 200 |
| 1 | 1 | .0000000 | 0 | 05-01-1401 | 20 | 1.0000000 | 1.0000000 | 1.0000000 | .0000000 | 100 |
| 1 | 1 | .0000000 | 5 | 06-01-1401 | 30 | 1.0000000 | 1.0000000 | 1.0000000 | .0000000 | 500 |
| 3 | 3 | 1.0000000 | 5 | 06-01-1401 | 30 | 2.0000000 | 2.0000000 | 1.0000000 | .0000000 | 500 |
| 4 | 4 | 1.0000000 | 1 | 06-01-1401 | 40 | 2.0000000 | 2.0000000 | 1.0000000 | .0000000 | 800 |
| 2 | 2 | .0000000 | 2400 | 01-01-1401 | 40 | 1.0000000 | 1.0000000 | 1.0000000 | .0000000 | 100 |
| 1 | 1 | .0000000 | 0 | 03-01-1401 | 10 | 1.0000000 | 1.0000000 | 1.0000000 | .0000000 | 200 |
| 1 | 1 | .0000000 | 0 | 05-02-1401 | 30 | 1.0000000 | 1.0000000 | 1.0000000 | .0000000 | 300 |
| 4 | 4 | 1.0000000 | 1 | 06-01-1401 | 40 | 2.0000000 | 2.0000000 | 1.0000000 | .0000000 | 700 |
| 3 | 3 | 1.0000000 | 5 | 06-01-1401 | 30 | 2.0000000 | 2.0000000 | 1.0000000 | .0000000 | 600 |
| 1 | 1 | .0000000 | 0 | 06-01-1401 | 50 | 1.0000000 | 1.0000000 | 1.0000000 | .0000000 | 400 |
| 2 | 2 | .0000000 | 0 | 06-01-1401 | 50 | 1.0000000 | 1.0000000 | 1.0000000 | .0000000 | 400 |
| (12 rows) |
| |
| -- REGR_R2() function with partition by and order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(REGR_R2(floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.vn),floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.cn asc range between unbounded preceding and unbounded following ); |
| ERROR: division by zero (seg0 slice4 127.0.0.1:25432 pid=55689) |
| -- REGR_R2() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(REGR_R2(floor(cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.prc) as int),NULL) OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.cn desc range between floor(cf_olap_windowerr_sale.pn)::integer preceding and floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.prc)::integer preceding ), |
| win2 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc); |
| ERROR: invalid preceding or following size in window function (seg1 slice1 127.0.0.1:40001 pid=19829) |
| -- REGR_R2() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt, TO_CHAR(COALESCE(REGR_R2(floor(cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.qty*cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.vn) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.pn asc range between current row and floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.prc)::integer following ), |
| win2 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc); |
| ERROR: division by zero (seg0 slice3 127.0.0.1:25432 pid=55954) |
| -- REGR_R2() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(REGR_R2(floor(cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.cn*cf_olap_windowerr_sale.prc) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.cn asc range between floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.qty)::integer following and unbounded following ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc); |
| cn | prc | cn | cn | prc | to_char | pn | to_char | to_char | to_char |
| ----+------+----+----+------+-------------------+-----+-------------------+-------------------+------------------- |
| 2 | 2400 | 2 | 2 | 2400 | .0000000 | 100 | .0000000 | .0000000 | 1.0000000 |
| 1 | 0 | 1 | 1 | 0 | .0000000 | 200 | .0000000 | .0000000 | 2.0000000 |
| 3 | 0 | 3 | 3 | 0 | .0000000 | 200 | .0000000 | 2.0000000 | 3.0000000 |
| 1 | 0 | 1 | 1 | 0 | .0000000 | 100 | .0000000 | .0000000 | 4.0000000 |
| 1 | 0 | 1 | 1 | 0 | .0000000 | 300 | .0000000 | .0000000 | 5.0000000 |
| 1 | 0 | 1 | 1 | 0 | .0000000 | 400 | .0000000 | .0000000 | 6.0000000 |
| 2 | 0 | 2 | 2 | 0 | .0000000 | 400 | .0000000 | 1.0000000 | 7.0000000 |
| 1 | 5 | 1 | 1 | 5 | .0000000 | 500 | .0000000 | 2.0000000 | 8.0000000 |
| 3 | 5 | 3 | 3 | 5 | .0000000 | 500 | .0000000 | .0000000 | 9.0000000 |
| 3 | 5 | 3 | 3 | 5 | .0000000 | 600 | .0000000 | .0000000 | 10.0000000 |
| 4 | 1 | 4 | 4 | 1 | .0000000 | 700 | .0000000 | 1.0000000 | 11.0000000 |
| 4 | 1 | 4 | 4 | 1 | .0000000 | 800 | .0000000 | -11.0000000 | 12.0000000 |
| (12 rows) |
| |
| -- REGR_R2() function with partition by and order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(REGR_R2(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.pn*cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc,cf_olap_windowerr_sale.vn desc,cf_olap_windowerr_sale.vn asc rows floor(cf_olap_windowerr_sale.vn) preceding ); |
| ERROR: division by zero (seg0 slice4 127.0.0.1:25432 pid=55689) |
| -- REGR_R2() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(REGR_R2(floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.dt, |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.prc+cf_olap_windowerr_sale.cn)) OVER(partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc,cf_olap_windowerr_sale.cn asc rows current row ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.prc+cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.qty) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc,cf_olap_windowerr_sale.cn asc rows current row ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc), |
| win3 as (order by cf_olap_windowerr_sale.pn asc); |
| ERROR: division by zero (seg0 slice2 127.0.0.1:25432 pid=55689) |
| -- REGR_R2() function with partition by and order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(REGR_R2(floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc,cf_olap_windowerr_sale.vn desc,cf_olap_windowerr_sale.pn asc rows between unbounded preceding and floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.pn) preceding ); |
| ERROR: frame ending offset must not be negative (seg0 slice3 127.0.0.1:25432 pid=55689) |
| -- REGR_R2() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(REGR_R2(floor(cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.qty) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.qty*cf_olap_windowerr_sale.qty)) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc,cf_olap_windowerr_sale.pn desc,cf_olap_windowerr_sale.cn desc rows between floor(cf_olap_windowerr_sale.prc) preceding and floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.vn) preceding ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc); |
| ERROR: frame ending offset must not be negative (seg0 slice2 127.0.0.1:25432 pid=55689) |
| -- REGR_R2() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(REGR_R2(floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc rows between 4 preceding and 4 following ); |
| ERROR: division by zero (seg0 slice2 127.0.0.1:25432 pid=55689) |
| -- REGR_R2() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(REGR_R2(floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.pn*cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.prc) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.prc) as int),NULL) OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.qty+cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.qty*cf_olap_windowerr_sale.vn)) OVER(partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc rows between 3 preceding and unbounded following ),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc rows between 3 preceding and unbounded following ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc), |
| win3 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc); |
| qty | to_char | prc | vn | to_char | to_char | to_char | cn | dt | pn | to_char | to_char |
| ------+-------------------+------+----+-------------------+-------------------+-------------------+----+------------+-----+-------------------+------------------- |
| 1100 | .0000000 | 2400 | 40 | 110000.0000000 | .0000000 | .0000000 | 2 | 01-01-1401 | 100 | 1200.0000000 | 1.0000000 |
| 1 | .0000000 | 0 | 10 | 200.0000000 | .0000000 | .0000000 | 1 | 03-01-1401 | 200 | 201.0000000 | 1.0000000 |
| 1 | .0000000 | 0 | 40 | 200.0000000 | .0000000 | .0000000 | 3 | 04-01-1401 | 200 | 201.0000000 | 1.0000000 |
| 1 | .0000000 | 0 | 20 | 100.0000000 | .0000000 | .0000000 | 1 | 05-01-1401 | 100 | 101.0000000 | 1.0000000 |
| 1 | .0000000 | 0 | 30 | 300.0000000 | .0000000 | .0000000 | 1 | 05-02-1401 | 300 | 301.0000000 | 1.0000000 |
| 1 | .0000000 | 0 | 50 | 400.0000000 | .0000000 | .0000000 | 1 | 06-01-1401 | 400 | 401.0000000 | 2.0000000 |
| 1 | .0000000 | 0 | 50 | 400.0000000 | .0000000 | .0000000 | 2 | 06-01-1401 | 400 | 401.0000000 | 2.0000000 |
| 12 | .0000000 | 5 | 30 | 7200.0000000 | .0000000 | .0000000 | 1 | 06-01-1401 | 500 | 612.0000000 | 3.0000000 |
| 12 | .0000000 | 5 | 30 | 7200.0000000 | .0000000 | .0000000 | 3 | 06-01-1401 | 500 | 612.0000000 | 3.0000000 |
| 12 | .0000000 | 5 | 30 | 7200.0000000 | .0000000 | .0000000 | 3 | 06-01-1401 | 600 | 612.0000000 | 3.0000000 |
| 1 | .0000000 | 1 | 40 | 800.0000000 | .0000000 | 700.0000000 | 4 | 06-01-1401 | 700 | 801.0000000 | 2.0000000 |
| 1 | .0000000 | 1 | 40 | 800.0000000 | .0000000 | 800.0000000 | 4 | 06-01-1401 | 800 | 801.0000000 | 2.0000000 |
| (12 rows) |
| |
| -- REGR_SLOPE() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(REGR_SLOPE(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.qty, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.pn) as int),NULL) OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.dt, |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.pn desc range unbounded preceding ), |
| win2 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc), |
| win3 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc); |
| vn | cn | to_char | pn | to_char | prc | qty | to_char | dt | to_char |
| ----+----+-------------------+-----+-------------------+------+------+-------------------+------------+------------------- |
| 10 | 1 | -.3617021 | 200 | 1.0000000 | 0 | 1 | .0000000 | 03-01-1401 | 1.0000000 |
| 20 | 1 | -13.0319149 | 100 | 1.0000000 | 0 | 1 | .0000000 | 05-01-1401 | 1.0000000 |
| 30 | 1 | -.4736842 | 300 | 1.0000000 | 0 | 1 | .0000000 | 05-02-1401 | 1.0000000 |
| 30 | 1 | -1.6666667 | 500 | 1.0000000 | 5 | 12 | .0000000 | 06-01-1401 | 1.0000000 |
| 50 | 1 | -.7205882 | 400 | 1.0000000 | 0 | 1 | .0000000 | 06-01-1401 | 1.0000000 |
| 40 | 2 | -13.0319149 | 100 | 1.0000000 | 2400 | 1100 | .0000000 | 01-01-1401 | 1.0000000 |
| 50 | 2 | -.7205882 | 400 | 2.0000000 | 0 | 1 | .0000000 | 06-01-1401 | 1.0000000 |
| 30 | 3 | -1.6666667 | 500 | 2.0000000 | 5 | 12 | .0000000 | 06-01-1401 | 1.0000000 |
| 30 | 3 | -1.0000000 | 600 | 1.0000000 | 5 | 12 | .0000000 | 06-01-1401 | 2.0000000 |
| 40 | 3 | -.3617021 | 200 | 1.0000000 | 0 | 1 | .0000000 | 04-01-1401 | 1.0000000 |
| 40 | 4 | .0000000 | 700 | 1.0000000 | 1 | 1 | .0000000 | 06-01-1401 | 1.0000000 |
| 40 | 4 | .0000000 | 800 | 1.0000000 | 1 | 1 | .0000000 | 06-01-1401 | 2.0000000 |
| (12 rows) |
| |
| -- REGR_SLOPE() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(REGR_SLOPE(floor(cf_olap_windowerr_sale.qty*cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.prc)) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn desc range between unbounded preceding and 4 preceding ), |
| win2 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc), |
| win3 as (partition by cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.vn asc); |
| ERROR: division by zero |
| -- REGR_SLOPE() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(REGR_SLOPE(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.qty)) OVER(partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.cn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.pn)) OVER(partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.cn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn asc range between unbounded preceding and 2 following ), |
| win2 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.cn asc); |
| ERROR: division by zero |
| -- REGR_SLOPE() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(REGR_SLOPE(floor(cf_olap_windowerr_sale.vn*cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.qty+cf_olap_windowerr_sale.qty)) OVER(order by cf_olap_windowerr_sale.pn asc range between floor(cf_olap_windowerr_sale.vn)::integer following and floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.vn)::integer following ),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.pn asc range between floor(cf_olap_windowerr_sale.vn)::integer following and floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.vn)::integer following ); |
| ERROR: invalid preceding or following size in window function |
| -- REGR_SLOPE() function with ONLY order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(REGR_SLOPE(floor(cf_olap_windowerr_sale.vn),floor(cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc,cf_olap_windowerr_sale.cn desc rows floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.pn) preceding ); |
| ERROR: frame starting offset must not be negative |
| -- REGR_SLOPE() function with ONLY order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(REGR_SLOPE(floor(cf_olap_windowerr_sale.vn),floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc rows current row ); |
| ERROR: division by zero |
| -- REGR_SLOPE() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(REGR_SLOPE(floor(cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.vn) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt, |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.pn asc),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc rows between unbounded preceding and current row ), |
| win2 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc), |
| win3 as (partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.pn asc); |
| ERROR: division by zero |
| -- REGR_SLOPE() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(REGR_SLOPE(floor(cf_olap_windowerr_sale.prc*cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(RANK() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.prc, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.cn) as int),NULL) OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.dt |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc,cf_olap_windowerr_sale.cn desc,cf_olap_windowerr_sale.pn desc rows between 0 preceding and floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.prc) preceding ), |
| win2 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.cn desc), |
| win3 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc); |
| ERROR: frame ending offset must not be negative |
| -- REGR_SLOPE() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(REGR_SLOPE(floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.prc)) OVER(partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.cn desc range current row ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.cn desc),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.cn desc range current row ), |
| win2 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc); |
| ERROR: division by zero (seg0 slice3 127.0.0.1:25432 pid=55700) |
| -- REGR_SLOPE() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(REGR_SLOPE(floor(cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.qty, |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.vn) as int),NULL) OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.prc+cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.prc) as int),NULL) OVER(win4),0),'99999999.9999999'),cf_olap_windowerr_sale.dt |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.pn desc range between floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.prc)::integer preceding and 4 preceding ), |
| win2 as (order by cf_olap_windowerr_sale.vn asc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc), |
| win4 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc); |
| ERROR: invalid preceding or following size in window function |
| -- REGR_SLOPE() function with partition by and order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(REGR_SLOPE(floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.vn desc range between current row and floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.pn)::integer following ); |
| ERROR: invalid preceding or following size in window function (seg1 slice1 127.0.0.1:40001 pid=3934) |
| -- REGR_SLOPE() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_SLOPE(floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.prc+cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.qty)) OVER(partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.cn desc range between current row and floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.prc)::integer following ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.cn desc range between current row and floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.prc)::integer following ), |
| win2 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.vn desc); |
| ERROR: invalid preceding or following size in window function (seg2 slice1 127.0.0.1:40002 pid=3935) |
| -- REGR_SLOPE() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_SLOPE(floor(cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.qty) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.prc, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.vn) as int),NULL) OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.cn desc range between current row and unbounded following ), |
| win2 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc); |
| qty | pn | to_char | cn | dt | vn | to_char | prc | to_char |
| ------+-----+-------------------+----+------------+----+-------------------+------+------------------- |
| 1100 | 100 | .0000000 | 2 | 01-01-1401 | 40 | .0000000 | 2400 | .0000000 |
| 1 | 200 | .0000000 | 1 | 03-01-1401 | 10 | .0000000 | 0 | .0000000 |
| 1 | 200 | .0000000 | 3 | 04-01-1401 | 40 | .0000000 | 0 | .0000000 |
| 1 | 100 | .0000000 | 1 | 05-01-1401 | 20 | .0000000 | 0 | .0000000 |
| 1 | 300 | .0000000 | 1 | 05-02-1401 | 30 | .0000000 | 0 | .0000000 |
| 1 | 400 | .0000000 | 1 | 06-01-1401 | 50 | 1.0000000 | 0 | .0000000 |
| 1 | 400 | .0000000 | 2 | 06-01-1401 | 50 | .0000000 | 0 | .0000000 |
| 12 | 500 | .0000000 | 1 | 06-01-1401 | 30 | .0000000 | 5 | .0000000 |
| 12 | 500 | 2.9411765 | 3 | 06-01-1401 | 30 | .0000000 | 5 | .0000000 |
| 12 | 600 | 2.9411765 | 3 | 06-01-1401 | 30 | .0000000 | 5 | .0000000 |
| 1 | 700 | 4.0000000 | 4 | 06-01-1401 | 40 | .0000000 | 1 | .0000000 |
| 1 | 800 | 4.0000000 | 4 | 06-01-1401 | 40 | .0000000 | 1 | .0000000 |
| (12 rows) |
| |
| -- REGR_SLOPE() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_SLOPE(floor(cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.qty) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty, |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win4),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.qty) as int),NULL) OVER(win5),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.pn desc range between 0 following and unbounded following ), |
| win2 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc), |
| win3 as (order by cf_olap_windowerr_sale.cn asc), |
| win4 as (order by cf_olap_windowerr_sale.pn asc), |
| win5 as (partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc); |
| vn | prc | cn | pn | to_char | to_char | dt | qty | to_char | to_char | to_char |
| ----+------+----+-----+-------------------+-------------------+------------+------+-------------------+-------------------+------------------- |
| 10 | 0 | 1 | 200 | .0000000 | .0000000 | 03-01-1401 | 1 | .0000000 | 3.0000000 | 1.0000000 |
| 20 | 0 | 1 | 100 | .0000000 | .0000000 | 05-01-1401 | 1 | .0000000 | 1.0000000 | 1.0000000 |
| 30 | 0 | 1 | 300 | .0000000 | .0000000 | 05-02-1401 | 1 | .0000000 | 5.0000000 | 1.0000000 |
| 50 | 0 | 1 | 400 | .0000000 | .0000000 | 06-01-1401 | 1 | .0000000 | 6.0000000 | 1.0000000 |
| 50 | 0 | 2 | 400 | .0000000 | .0000000 | 06-01-1401 | 1 | .4545455 | 6.0000000 | .0000000 |
| 40 | 0 | 3 | 200 | -.0004167 | .0000000 | 04-01-1401 | 1 | .6363636 | 3.0000000 | .0000000 |
| 40 | 1 | 4 | 700 | -.0006250 | .0000000 | 06-01-1401 | 1 | .9090909 | 11.0000000 | .0000000 |
| 40 | 1 | 4 | 800 | -.0006945 | .0000000 | 06-01-1401 | 1 | .9090909 | 12.0000000 | .0000000 |
| 30 | 5 | 1 | 500 | .2000000 | .0000000 | 06-01-1401 | 12 | .0000000 | 8.0000000 | .0000000 |
| 30 | 5 | 3 | 500 | .2000000 | .0000000 | 06-01-1401 | 12 | .6363636 | 8.0000000 | .0000000 |
| 30 | 5 | 3 | 600 | .2666667 | .0000000 | 06-01-1401 | 12 | .6363636 | 10.0000000 | .0000000 |
| 40 | 2400 | 2 | 100 | .0000000 | .0000000 | 01-01-1401 | 1100 | .4545455 | 1.0000000 | .0000000 |
| (12 rows) |
| |
| -- REGR_SLOPE() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(REGR_SLOPE(floor(cf_olap_windowerr_sale.vn),floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.vn)) OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc,cf_olap_windowerr_sale.cn desc rows unbounded preceding ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc); |
| ERROR: division by zero |
| -- REGR_SLOPE() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(REGR_SLOPE(floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.cn) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.dt, |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.prc)) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.qty*cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.prc) as int),NULL) OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.cn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc rows between floor(cf_olap_windowerr_sale.qty+cf_olap_windowerr_sale.cn) preceding and floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.prc) preceding ), |
| win2 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc); |
| pn | vn | to_char | to_char | dt | to_char | to_char | cn |
| -----+----+-------------------+-------------------+------------+-------------------+-------------------+---- |
| 100 | 40 | .0000000 | .0000000 | 01-01-1401 | 2400.0000000 | .0000000 | 2 |
| 200 | 10 | .0000000 | 1.0000000 | 03-01-1401 | .0000000 | 200.0000000 | 1 |
| 200 | 40 | .0000000 | .0000000 | 04-01-1401 | .0000000 | 200.0000000 | 3 |
| 100 | 20 | .0000000 | 1.0000000 | 05-01-1401 | .0000000 | 100.0000000 | 1 |
| 300 | 30 | .0000000 | 1.0000000 | 05-02-1401 | .0000000 | 300.0000000 | 1 |
| 400 | 50 | .0000000 | 1.0000000 | 06-01-1401 | .0000000 | 400.0000000 | 1 |
| 400 | 50 | .0000000 | .0000000 | 06-01-1401 | .0000000 | 400.0000000 | 2 |
| 500 | 30 | .0000000 | .0000000 | 06-01-1401 | 5.0000000 | .0000000 | 1 |
| 500 | 30 | .0000000 | .0000000 | 06-01-1401 | 5.0000000 | .0000000 | 3 |
| 600 | 30 | .0000000 | .0000000 | 06-01-1401 | 5.0000000 | .0000000 | 3 |
| 700 | 40 | .0000000 | .0000000 | 06-01-1401 | 1.0000000 | 800.0000000 | 4 |
| 800 | 40 | .0000000 | .0000000 | 06-01-1401 | 1.0000000 | .0000000 | 4 |
| (12 rows) |
| |
| -- REGR_SLOPE() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_SLOPE(floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc,cf_olap_windowerr_sale.cn asc,cf_olap_windowerr_sale.cn desc rows between current row and floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.pn) following ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc); |
| ERROR: frame ending offset must not be negative (seg0 slice2 127.0.0.1:25432 pid=55689) |
| -- REGR_SLOPE() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(REGR_SLOPE(floor(cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.cn) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(order by cf_olap_windowerr_sale.pn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc,cf_olap_windowerr_sale.pn asc rows between 4 following and 2 following ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc); |
| prc | vn | to_char | qty | pn | to_char | cn | to_char | to_char | to_char |
| ------+----+-------------------+------+-----+-------------------+----+-------------------+-------------------+------------------- |
| 0 | 20 | .0000000 | 1 | 100 | 301.0000000 | 1 | 4.0000000 | 1.0000000 | 4.0000000 |
| 2400 | 40 | .0000000 | 1100 | 100 | .0000000 | 2 | 1.0000000 | 1.0000000 | 1.0000000 |
| 0 | 40 | .0000000 | 1 | 200 | 401.0000000 | 3 | 3.0000000 | 3.0000000 | 3.0000000 |
| 0 | 10 | .0000000 | 1 | 200 | 201.0000000 | 1 | 2.0000000 | 3.0000000 | 2.0000000 |
| 0 | 30 | .0000000 | 1 | 300 | 401.0000000 | 1 | 5.0000000 | 5.0000000 | 5.0000000 |
| 0 | 50 | .0000000 | 1 | 400 | 512.0000000 | 2 | 7.0000000 | 6.0000000 | 7.0000000 |
| 0 | 50 | .0000000 | 1 | 400 | 401.0000000 | 1 | 6.0000000 | 6.0000000 | 6.0000000 |
| 5 | 30 | .0000000 | 12 | 500 | 101.0000000 | 1 | 8.0000000 | 8.0000000 | 8.0000000 |
| 5 | 30 | .0000000 | 12 | 500 | 401.0000000 | 3 | 9.0000000 | 8.0000000 | 9.0000000 |
| 5 | 30 | .0000000 | 12 | 600 | 512.0000000 | 3 | 10.0000000 | 10.0000000 | 10.0000000 |
| 1 | 40 | .0000000 | 1 | 700 | .0000000 | 4 | 11.0000000 | 11.0000000 | 11.0000000 |
| 1 | 40 | .0000000 | 1 | 800 | .0000000 | 4 | 12.0000000 | 12.0000000 | 12.0000000 |
| (12 rows) |
| |
| -- REGR_SXX() function with ONLY order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(REGR_SXX(floor(cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn desc range floor(cf_olap_windowerr_sale.cn)::integer preceding ); |
| ERROR: division by zero |
| -- REGR_SXX() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(REGR_SXX(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.vn)) OVER(order by cf_olap_windowerr_sale.cn asc range between 0 following and 3 following ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(RANK() OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn asc range between 0 following and 3 following ), |
| win2 as (order by cf_olap_windowerr_sale.pn asc), |
| win3 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.cn asc); |
| ERROR: division by zero |
| -- REGR_SXX() function with ONLY order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(REGR_SXX(floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn AND cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc,cf_olap_windowerr_sale.cn asc rows 9 preceding ); |
| ERROR: division by zero |
| -- REGR_SXX() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_SXX(floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.vn),floor(cf_olap_windowerr_sale.prc+cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.cn) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win4),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win5),0),'99999999.9999999'),cf_olap_windowerr_sale.prc |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc rows between floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.vn) preceding and 4 preceding ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc), |
| win3 as (order by cf_olap_windowerr_sale.pn desc), |
| win4 as (order by cf_olap_windowerr_sale.cn asc), |
| win5 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.cn desc); |
| ERROR: frame starting offset must not be negative |
| -- REGR_SXX() function with ONLY order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_SXX(floor(cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.prc+cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc,cf_olap_windowerr_sale.cn asc rows between floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.pn) preceding and current row ); |
| ERROR: frame starting offset must not be negative |
| -- REGR_SXX() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(REGR_SXX(floor(cf_olap_windowerr_sale.vn),floor(cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.cn)) OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc,cf_olap_windowerr_sale.cn desc rows between floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.qty) preceding and 2 following ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.prc) as int),NULL) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.pn) as int),NULL) OVER(win4),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc,cf_olap_windowerr_sale.cn desc rows between floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.qty) preceding and 2 following ), |
| win2 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.pn asc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc), |
| win4 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc); |
| ERROR: frame starting offset must not be negative |
| -- REGR_SXX() function with ONLY order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_SXX(floor(cf_olap_windowerr_sale.qty+cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc,cf_olap_windowerr_sale.pn asc rows between floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.prc) preceding and unbounded following ); |
| ERROR: frame starting offset must not be negative |
| -- REGR_SXX() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(REGR_SXX(floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.prc) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.vn)) OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc,cf_olap_windowerr_sale.vn desc rows between floor(cf_olap_windowerr_sale.qty) preceding and unbounded following ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc); |
| ERROR: division by zero |
| -- REGR_SXX() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.dt, TO_CHAR(COALESCE(REGR_SXX(floor(cf_olap_windowerr_sale.cn*cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.vn*cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.prc) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc,cf_olap_windowerr_sale.pn desc rows between current row and current row ), |
| win2 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc); |
| ERROR: division by zero |
| -- REGR_SXX() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(REGR_SXX(floor(cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.cn)) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.pn)) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.vn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.prc+cf_olap_windowerr_sale.cn)) OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc,cf_olap_windowerr_sale.vn desc rows between current row and floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.qty) following ), |
| win2 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.vn asc); |
| ERROR: frame ending offset must not be negative |
| -- REGR_SXX() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_SXX(floor(cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.prc*cf_olap_windowerr_sale.vn)) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.cn)) OVER(order by cf_olap_windowerr_sale.vn desc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.pn) as int),NULL) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win4),0),'99999999.9999999'),cf_olap_windowerr_sale.dt |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc,cf_olap_windowerr_sale.vn desc,cf_olap_windowerr_sale.cn asc rows between floor(cf_olap_windowerr_sale.pn) following and unbounded following ), |
| win2 as (order by cf_olap_windowerr_sale.vn desc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc), |
| win4 as (partition by cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc); |
| qty | pn | to_char | cn | vn | to_char | to_char | to_char | to_char | to_char | dt |
| ------+-----+-------------------+----+----+-------------------+-------------------+-------------------+-------------------+-------------------+------------ |
| 1100 | 100 | .0000000 | 2 | 40 | .5000000 | 96000.0000000 | 6.0000000 | .0000000 | 1.0000000 | 01-01-1401 |
| 1 | 200 | .0000000 | 1 | 10 | 1.0000000 | 96000.0000000 | 12.0000000 | .0000000 | 1.0000000 | 03-01-1401 |
| 1 | 200 | .0000000 | 3 | 40 | .5000000 | 96000.0000000 | 6.0000000 | .0000000 | 1.0000000 | 04-01-1401 |
| 1 | 100 | .0000000 | 1 | 20 | .9166667 | 96000.0000000 | 11.0000000 | .0000000 | 1.0000000 | 05-01-1401 |
| 1 | 300 | .0000000 | 1 | 30 | .8333333 | 96000.0000000 | 10.0000000 | .0000000 | 1.0000000 | 05-02-1401 |
| 1 | 400 | .0000000 | 1 | 50 | .1666667 | .0000000 | 2.0000000 | .0000000 | 1.0000000 | 06-01-1401 |
| 1 | 400 | .0000000 | 2 | 50 | .1666667 | .0000000 | 2.0000000 | .0000000 | 2.0000000 | 06-01-1401 |
| 12 | 500 | .0000000 | 1 | 30 | .8333333 | 96000.0000000 | 10.0000000 | .0000000 | 3.0000000 | 06-01-1401 |
| 12 | 500 | .0000000 | 3 | 30 | .8333333 | 96000.0000000 | 10.0000000 | .0000000 | 4.0000000 | 06-01-1401 |
| 12 | 600 | .0000000 | 3 | 30 | .8333333 | 96000.0000000 | 10.0000000 | .0000000 | 5.0000000 | 06-01-1401 |
| 1 | 700 | .0000000 | 4 | 40 | .5000000 | 96000.0000000 | 6.0000000 | .0000000 | 6.0000000 | 06-01-1401 |
| 1 | 800 | .0000000 | 4 | 40 | .5000000 | 96000.0000000 | 6.0000000 | .0000000 | 7.0000000 | 06-01-1401 |
| (12 rows) |
| |
| -- REGR_SXX() function with partition by and order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(REGR_SXX(floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn AND cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.cn asc range floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.pn)::integer preceding ); |
| ERROR: invalid preceding or following size in window function (seg1 slice1 127.0.0.1:40001 pid=3934) |
| -- REGR_SXX() function with partition by and order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt, TO_CHAR(COALESCE(REGR_SXX(floor(cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn AND cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.cn asc range between unbounded preceding and floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.cn)::integer preceding ); |
| prc | vn | pn | dt | to_char | cn |
| ------+----+-----+------------+-------------------+---- |
| 0 | 10 | 200 | 03-01-1401 | .0000000 | 1 |
| 0 | 40 | 200 | 04-01-1401 | .0000000 | 3 |
| 0 | 20 | 100 | 05-01-1401 | .0000000 | 1 |
| 0 | 30 | 300 | 05-02-1401 | .0000000 | 1 |
| 2400 | 40 | 100 | 01-01-1401 | .0000000 | 2 |
| 5 | 30 | 500 | 06-01-1401 | .0000000 | 1 |
| 0 | 50 | 400 | 06-01-1401 | .0000000 | 1 |
| 0 | 50 | 400 | 06-01-1401 | .0000000 | 2 |
| 5 | 30 | 500 | 06-01-1401 | .0000000 | 3 |
| 5 | 30 | 600 | 06-01-1401 | .0000000 | 3 |
| 1 | 40 | 700 | 06-01-1401 | .0000000 | 4 |
| 1 | 40 | 800 | 06-01-1401 | .0000000 | 4 |
| (12 rows) |
| |
| -- REGR_SXX() function with partition by and order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(REGR_SXX(floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.cn asc range between floor(cf_olap_windowerr_sale.qty)::integer preceding and floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc)::integer preceding ); |
| ERROR: division by zero (seg0 slice3 127.0.0.1:25432 pid=55689) |
| -- REGR_SXX() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(REGR_SXX(floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.prc) as int),NULL) OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.vn desc range between 4 preceding and current row ), |
| win2 as (partition by cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc); |
| ERROR: division by zero (seg0 slice4 127.0.0.1:25432 pid=55695) |
| -- REGR_SXX() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_SXX(floor(cf_olap_windowerr_sale.vn),floor(cf_olap_windowerr_sale.cn*cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.qty/(cf_olap_windowerr_sale.prc+1)) as int),cast (floor(cf_olap_windowerr_sale.qty) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.pn) as int),NULL) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.qty) as int),NULL) OVER(win4),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.cn asc range between 3 following and 1 following ), |
| win2 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc), |
| win4 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc); |
| qty | pn | pn | to_char | cn | to_char | dt | vn | to_char | to_char | to_char | to_char |
| ------+-----+-----+-------------------+----+-------------------+------------+----+-------------------+-------------------+-------------------+------------------- |
| 1100 | 100 | 100 | .0000000 | 2 | .0000000 | 01-01-1401 | 40 | 1.0000000 | .0000000 | 1.0000000 | .0000000 |
| 1 | 200 | 200 | .0000000 | 1 | .0000000 | 03-01-1401 | 10 | 1.0000000 | .0000000 | 1.0000000 | .0000000 |
| 1 | 200 | 200 | .0000000 | 3 | .0000000 | 04-01-1401 | 40 | 1.0000000 | .0000000 | 1.0000000 | .0000000 |
| 1 | 100 | 100 | .0000000 | 1 | .0000000 | 05-01-1401 | 20 | 1.0000000 | .0000000 | 1.0000000 | .0000000 |
| 1 | 300 | 300 | .0000000 | 1 | .0000000 | 05-02-1401 | 30 | 1.0000000 | .0000000 | 1.0000000 | .0000000 |
| 1 | 400 | 400 | .0000000 | 1 | 1.0000000 | 06-01-1401 | 50 | 1.0000000 | .0000000 | 1.0000000 | .0000000 |
| 1 | 400 | 400 | .0000000 | 2 | .0000000 | 06-01-1401 | 50 | 2.0000000 | .0000000 | 2.0000000 | .0000000 |
| 12 | 500 | 500 | .0000000 | 1 | .0000000 | 06-01-1401 | 30 | 1.0000000 | .0000000 | 1.0000000 | .0000000 |
| 12 | 500 | 500 | .0000000 | 3 | .0000000 | 06-01-1401 | 30 | 2.0000000 | .0000000 | 2.0000000 | .0000000 |
| 12 | 600 | 600 | .0000000 | 3 | .0000000 | 06-01-1401 | 30 | 3.0000000 | .0000000 | 3.0000000 | .0000000 |
| 1 | 700 | 700 | .0000000 | 4 | .0000000 | 06-01-1401 | 40 | 1.0000000 | .0000000 | 1.0000000 | .0000000 |
| 1 | 800 | 800 | .0000000 | 4 | .0000000 | 06-01-1401 | 40 | 2.0000000 | .0000000 | 2.0000000 | .0000000 |
| (12 rows) |
| |
| -- REGR_SXX() function with partition by and order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(REGR_SXX(floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc rows floor(cf_olap_windowerr_sale.cn) preceding ); |
| ERROR: division by zero (seg0 slice3 127.0.0.1:25432 pid=55689) |
| -- REGR_SXX() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(REGR_SXX(floor(cf_olap_windowerr_sale.qty+cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc,cf_olap_windowerr_sale.pn desc rows current row ); |
| ERROR: division by zero (seg0 slice1 127.0.0.1:25432 pid=55689) |
| -- REGR_SXX() function with partition by and order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_SXX(floor(cf_olap_windowerr_sale.vn),floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc rows between unbounded preceding and floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.cn) following ); |
| ERROR: frame ending offset must not be negative (seg0 slice3 127.0.0.1:25432 pid=55689) |
| -- REGR_SXX() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(REGR_SXX(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.cn) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.qty, |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.prc) as int),NULL) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.prc*cf_olap_windowerr_sale.vn) as int),NULL) OVER(win4),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc,cf_olap_windowerr_sale.cn asc,cf_olap_windowerr_sale.cn desc rows between 3 preceding and current row ), |
| win2 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc), |
| win3 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc), |
| win4 as (partition by cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc); |
| vn | cn | to_char | prc | dt | pn | to_char | qty | to_char | to_char | to_char | to_char |
| ----+----+-------------------+------+------------+-----+-------------------+------+-------------------+-------------------+-------------------+------------------- |
| 40 | 4 | .0000000 | 1 | 06-01-1401 | 700 | .0000000 | 1 | -660.0000000 | .0000000 | .0000000 | 1.0000000 |
| 40 | 4 | .0000000 | 1 | 06-01-1401 | 800 | .0000000 | 1 | -760.0000000 | .0000000 | .0000000 | 1.0000000 |
| 30 | 1 | .0000000 | 5 | 06-01-1401 | 500 | .0000000 | 12 | -470.0000000 | .0000000 | .0000000 | 1.0000000 |
| 30 | 3 | .0000000 | 5 | 06-01-1401 | 500 | .0000000 | 12 | -470.0000000 | .0000000 | .0000000 | 1.0000000 |
| 30 | 3 | .0000000 | 5 | 06-01-1401 | 600 | .0000000 | 12 | -570.0000000 | .0000000 | .0000000 | 1.0000000 |
| 10 | 1 | .0000000 | 0 | 03-01-1401 | 200 | .0000000 | 1 | -190.0000000 | .0000000 | 200.0000000 | 1.0000000 |
| 40 | 3 | .0000000 | 0 | 04-01-1401 | 200 | .0000000 | 1 | -160.0000000 | .0000000 | 200.0000000 | 1.0000000 |
| 20 | 1 | .0000000 | 0 | 05-01-1401 | 100 | .0000000 | 1 | -80.0000000 | .0000000 | 100.0000000 | 1.0000000 |
| 30 | 1 | .0000000 | 0 | 05-02-1401 | 300 | .0000000 | 1 | -270.0000000 | .0000000 | 300.0000000 | 1.0000000 |
| 50 | 1 | .0000000 | 0 | 06-01-1401 | 400 | .0000000 | 1 | -350.0000000 | .0000000 | 400.0000000 | 1.0000000 |
| 50 | 2 | .0000000 | 0 | 06-01-1401 | 400 | .0000000 | 1 | -350.0000000 | .0000000 | 400.0000000 | 1.0000000 |
| 40 | 2 | .0000000 | 2400 | 01-01-1401 | 100 | .0000000 | 1100 | -60.0000000 | .0000000 | .0000000 | 1.0000000 |
| (12 rows) |
| |
| -- REGR_SXX() function with partition by and order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(REGR_SXX(floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc rows between current row and 0 following ); |
| ERROR: division by zero (seg2 slice3 127.0.0.1:25434 pid=55691) |
| -- REGR_SXX() function with partition by and order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_SXX(floor(cf_olap_windowerr_sale.qty*cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc rows between floor(cf_olap_windowerr_sale.prc) following and floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.pn) following ); |
| ERROR: frame ending offset must not be negative (seg0 slice3 127.0.0.1:25432 pid=55689) |
| -- REGR_SXY() function with OVER() clause having ONLY PARTITION BY in combination with other window functions -- |
| SELECT cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(REGR_SXY(floor(cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn |
| , |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.cn*cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.prc) as int),NULL) OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.prc, |
| TO_CHAR(COALESCE(RANK() OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn), |
| win2 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.cn desc), |
| win3 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc); |
| ERROR: division by zero (seg0 slice6 127.0.0.1:25432 pid=55689) |
| -- REGR_SXY() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_SXY(floor(cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.vn)) OVER(order by cf_olap_windowerr_sale.cn asc range floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.pn)::integer preceding ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn asc range floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.pn)::integer preceding ), |
| win2 as (order by cf_olap_windowerr_sale.pn desc); |
| ERROR: invalid preceding or following size in window function |
| -- REGR_SXY() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(REGR_SXY(floor(cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.prc+cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.vn*cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.cn)) OVER(order by cf_olap_windowerr_sale.cn asc range current row ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.qty+cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.prc) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.vn) as int),NULL) OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn asc range current row ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc), |
| win3 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc); |
| dt | vn | vn | to_char | cn | to_char | to_char | to_char | to_char | to_char | pn |
| ------------+----+----+-------------------+----+-------------------+-------------------+-------------------+-------------------+-------------------+----- |
| 03-01-1401 | 10 | 10 | 44.0000000 | 1 | 5.0000000 | 5.0000000 | 1.0000000 | 3500.0000000 | .0000000 | 200 |
| 05-01-1401 | 20 | 20 | 44.0000000 | 1 | 5.0000000 | 5.0000000 | 1.0000000 | 1.0000000 | .0000000 | 100 |
| 05-02-1401 | 30 | 30 | 44.0000000 | 1 | 5.0000000 | 5.0000000 | 1.0000000 | 1.0000000 | .0000000 | 300 |
| 06-01-1401 | 30 | 30 | 44.0000000 | 1 | 5.0000000 | 5.0000000 | 1.0000000 | 1.0000000 | .0000000 | 500 |
| 06-01-1401 | 30 | 30 | 36.6666667 | 3 | 3.0000000 | 3.0000000 | 3.0000000 | 3500.0000000 | .0000000 | 500 |
| 06-01-1401 | 30 | 30 | 36.6666667 | 3 | 3.0000000 | 3.0000000 | 3.0000000 | 1.0000000 | .0000000 | 600 |
| 01-01-1401 | 40 | 40 | 1318800.0000000 | 2 | 2.0000000 | 2.0000000 | 2.0000000 | .0000000 | .0000000 | 100 |
| 04-01-1401 | 40 | 40 | 36.6666667 | 3 | 3.0000000 | 3.0000000 | 3.0000000 | .0000000 | .0000000 | 200 |
| 06-01-1401 | 40 | 40 | .0000000 | 4 | 2.0000000 | 2.0000000 | 4.0000000 | 1.0000000 | .0000000 | 700 |
| 06-01-1401 | 40 | 40 | .0000000 | 4 | 2.0000000 | 2.0000000 | 4.0000000 | 1.0000000 | .0000000 | 800 |
| 06-01-1401 | 50 | 50 | 44.0000000 | 1 | 5.0000000 | 5.0000000 | 1.0000000 | 1.0000000 | .0000000 | 400 |
| 06-01-1401 | 50 | 50 | 1318800.0000000 | 2 | 2.0000000 | 2.0000000 | 2.0000000 | 1.0000000 | .0000000 | 400 |
| (12 rows) |
| |
| -- REGR_SXY() function with ONLY order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(REGR_SXY(floor(cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.vn desc range between floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.qty)::integer preceding and floor(cf_olap_windowerr_sale.prc)::integer preceding ); |
| ERROR: invalid preceding or following size in window function |
| -- REGR_SXY() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_SXY(floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.qty)) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.prc) as int),NULL) OVER(win4),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.pn) as int),NULL) OVER(win5),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn desc range between current row and floor(cf_olap_windowerr_sale.vn*cf_olap_windowerr_sale.prc)::integer following ), |
| win2 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.cn asc), |
| win3 as (order by cf_olap_windowerr_sale.cn asc), |
| win4 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc), |
| win5 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc); |
| pn | prc | pn | pn | to_char | cn | to_char | dt | vn | to_char | to_char | to_char | to_char |
| -----+------+-----+-----+-------------------+----+-------------------+------------+----+-------------------+-------------------+-------------------+------------------- |
| 100 | 2400 | 100 | 100 | 3741.4285714 | 2 | 1.0000000 | 01-01-1401 | 40 | 1.0000000 | 2.0000000 | .0000000 | .0000000 |
| 200 | 0 | 200 | 200 | .0000000 | 1 | 1.0000000 | 03-01-1401 | 10 | 1.0000000 | 1.0000000 | 1.0000000 | .0000000 |
| 200 | 0 | 200 | 200 | .0000000 | 3 | 1.0000000 | 04-01-1401 | 40 | 1.0000000 | 3.0000000 | 1.0000000 | .0000000 |
| 100 | 0 | 100 | 100 | .0000000 | 1 | 1.0000000 | 05-01-1401 | 20 | 1.0000000 | 1.0000000 | 1.0000000 | .0000000 |
| 300 | 0 | 300 | 300 | .0000000 | 1 | 1.0000000 | 05-02-1401 | 30 | 1.0000000 | 1.0000000 | 1.0000000 | .0000000 |
| 400 | 0 | 400 | 400 | .0000000 | 1 | .5000000 | 06-01-1401 | 50 | 1.0000000 | 1.0000000 | 1.0000000 | .0000000 |
| 400 | 0 | 400 | 400 | 2100.0000000 | 2 | 1.0000000 | 06-01-1401 | 50 | 2.0000000 | 2.0000000 | 1.0000000 | .0000000 |
| 500 | 5 | 500 | 500 | .0000000 | 1 | .3333333 | 06-01-1401 | 30 | 1.0000000 | 1.0000000 | 1.0000000 | .0000000 |
| 500 | 5 | 500 | 500 | 3857.0000000 | 3 | 1.0000000 | 06-01-1401 | 30 | 3.0000000 | 3.0000000 | 1.0000000 | .0000000 |
| 600 | 5 | 600 | 600 | 3857.0000000 | 3 | 1.0000000 | 06-01-1401 | 30 | 3.0000000 | 3.0000000 | 1.0000000 | .0000000 |
| 700 | 1 | 700 | 700 | 4096.3333333 | 4 | 1.0000000 | 06-01-1401 | 40 | 2.0000000 | 4.0000000 | 1.0000000 | .0000000 |
| 800 | 1 | 800 | 800 | 4096.3333333 | 4 | 1.0000000 | 06-01-1401 | 40 | 2.0000000 | 4.0000000 | 1.0000000 | .0000000 |
| (12 rows) |
| |
| -- REGR_SXY() function with ONLY order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(REGR_SXY(floor(cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc,cf_olap_windowerr_sale.cn desc,cf_olap_windowerr_sale.cn desc rows unbounded preceding ); |
| ERROR: division by zero |
| -- REGR_SXY() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(REGR_SXY(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.vn),floor(cf_olap_windowerr_sale.qty+cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.vn)) OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc,cf_olap_windowerr_sale.pn desc rows unbounded preceding ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.cn/cf_olap_windowerr_sale.prc)) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.qty) as int),NULL) OVER(win4),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc,cf_olap_windowerr_sale.pn desc rows unbounded preceding ), |
| win2 as (order by cf_olap_windowerr_sale.vn asc), |
| win3 as (order by cf_olap_windowerr_sale.cn desc), |
| win4 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc); |
| ERROR: division by zero |
| -- REGR_SXY() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(REGR_SXY(floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.vn),floor(cf_olap_windowerr_sale.qty+cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.qty) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.vn) as int),NULL) OVER(win4),0),'99999999.9999999'),cf_olap_windowerr_sale.dt, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.qty+cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.prc) as int),NULL) OVER(win5),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc,cf_olap_windowerr_sale.cn asc rows 3 preceding ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc), |
| win3 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc), |
| win4 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc), |
| win5 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc); |
| vn | qty | pn | cn | to_char | to_char | to_char | to_char | dt | to_char | to_char |
| ----+------+-----+----+-------------------+-------------------+-------------------+-------------------+------------+-------------------+------------------- |
| 40 | 1100 | 100 | 2 | .0000000 | .0000000 | 1.0000000 | .0000000 | 01-01-1401 | .0000000 | 1100.0000000 |
| 20 | 1 | 100 | 1 | 26475.0000000 | .0000000 | 1.0000000 | .0000000 | 05-01-1401 | 2.0000000 | 1100.0000000 |
| 10 | 1 | 200 | 1 | 29970.0000000 | .0000000 | 1.0000000 | .0000000 | 03-01-1401 | 2.0000000 | 1100.0000000 |
| 40 | 1 | 200 | 3 | 19980.0000000 | .0000000 | 1.0000000 | .0000000 | 04-01-1401 | 2.0000000 | 1100.0000000 |
| 30 | 1 | 300 | 1 | 2000.0000000 | .0000000 | 1.0000000 | .0000000 | 05-02-1401 | 2.0000000 | 1.0000000 |
| 50 | 1 | 400 | 1 | 8000.0000000 | .0000000 | 1.0000000 | .0000000 | 06-01-1401 | 2.0000000 | 1.0000000 |
| 50 | 1 | 400 | 2 | 12000.0000000 | .0000000 | 1.0000000 | .0000000 | 06-01-1401 | 2.0000000 | 1.0000000 |
| 30 | 12 | 500 | 1 | -220.0000000 | .0000000 | 1.0000000 | .0000000 | 06-01-1401 | .0000000 | 12.0000000 |
| 30 | 12 | 500 | 3 | -4440.0000000 | .0000000 | 1.0000000 | .0000000 | 06-01-1401 | .0000000 | 12.0000000 |
| 30 | 12 | 600 | 3 | -4330.0000000 | .0000000 | 1.0000000 | .0000000 | 06-01-1401 | .0000000 | 12.0000000 |
| 40 | 1 | 700 | 4 | 2335.0000000 | .0000000 | 1.0000000 | .0000000 | 06-01-1401 | .0000000 | 12.0000000 |
| 40 | 1 | 800 | 4 | 3780.0000000 | .0000000 | 1.0000000 | .0000000 | 06-01-1401 | .0000000 | 12.0000000 |
| (12 rows) |
| |
| -- REGR_SXY() function with ONLY order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(REGR_SXY(floor(cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc,cf_olap_windowerr_sale.cn desc rows between unbounded preceding and current row ); |
| ERROR: division by zero |
| -- REGR_SXY() function with ONLY order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(REGR_SXY(floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc,cf_olap_windowerr_sale.vn desc,cf_olap_windowerr_sale.pn desc rows between current row and floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.qty) following ); |
| ERROR: frame ending offset must not be negative |
| -- REGR_SXY() function with partition by and order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(REGR_SXY(floor(cf_olap_windowerr_sale.qty+cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.cn asc range unbounded preceding ); |
| ERROR: division by zero (seg0 slice3 127.0.0.1:25432 pid=55689) |
| -- REGR_SXY() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt, TO_CHAR(COALESCE(REGR_SXY(floor(cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.qty) as int),NULL) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.pn) as int),NULL) OVER(win4),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn AND cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt order by cf_olap_windowerr_sale.pn asc range 1 preceding ), |
| win2 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.vn asc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc), |
| win4 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc); |
| dt | vn | dt | to_char | cn | pn | to_char | to_char | to_char | to_char | to_char |
| ------------+----+------------+-------------------+----+-----+-------------------+-------------------+-------------------+-------------------+------------------- |
| 03-01-1401 | 10 | 03-01-1401 | .0000000 | 1 | 200 | 1.0000000 | 1.0000000 | 40.0000000 | 2.0000000 | .0000000 |
| 05-01-1401 | 20 | 05-01-1401 | .0000000 | 1 | 100 | 1.0000000 | 1.0000000 | .0000000 | 4.0000000 | .0000000 |
| 05-02-1401 | 30 | 05-02-1401 | .0000000 | 1 | 300 | 1.0000000 | 1.0000000 | .0000000 | 5.0000000 | .0000000 |
| 06-01-1401 | 30 | 06-01-1401 | .0000000 | 1 | 500 | 1.0000000 | 1.0000000 | .0000000 | 8.0000000 | .0000000 |
| 06-01-1401 | 30 | 06-01-1401 | .0000000 | 3 | 500 | 1.0000000 | 1.0000000 | .0000000 | 9.0000000 | .0000000 |
| 06-01-1401 | 30 | 06-01-1401 | .0000000 | 3 | 600 | 1.0000000 | 1.0000000 | .0000000 | 10.0000000 | .0000000 |
| 01-01-1401 | 40 | 01-01-1401 | .0000000 | 2 | 100 | 1.0000000 | 1.0000000 | .0000000 | 1.0000000 | .0000000 |
| 04-01-1401 | 40 | 04-01-1401 | .0000000 | 3 | 200 | 1.0000000 | 1.0000000 | .0000000 | 3.0000000 | .0000000 |
| 06-01-1401 | 40 | 06-01-1401 | .0000000 | 4 | 700 | 1.0000000 | 1.0000000 | .0000000 | 11.0000000 | .0000000 |
| 06-01-1401 | 40 | 06-01-1401 | .0000000 | 4 | 800 | 1.0000000 | 1.0000000 | .0000000 | 12.0000000 | .0000000 |
| 06-01-1401 | 50 | 06-01-1401 | .0000000 | 1 | 400 | 1.0000000 | 1.0000000 | .0000000 | 6.0000000 | .0000000 |
| 06-01-1401 | 50 | 06-01-1401 | .0000000 | 2 | 400 | 1.0000000 | 1.0000000 | .0000000 | 7.0000000 | .0000000 |
| (12 rows) |
| |
| -- REGR_SXY() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(REGR_SXY(floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.prc, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.qty+cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.qty) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(partition by cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.pn asc),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.cn desc range between unbounded preceding and current row ), |
| win2 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc), |
| win3 as (partition by cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.pn asc); |
| cn | vn | vn | to_char | prc | to_char | dt | pn | to_char | to_char |
| ----+----+----+-------------------+------+-------------------+------------+-----+-------------------+------------------- |
| 4 | 40 | 40 | .0000000 | 1 | 41.0000000 | 06-01-1401 | 700 | 1.0000000 | 1.0000000 |
| 4 | 40 | 40 | .0000000 | 1 | 41.0000000 | 06-01-1401 | 800 | 2.0000000 | 2.0000000 |
| 3 | 30 | 30 | .0000000 | 5 | .0000000 | 06-01-1401 | 500 | 1.0000000 | 1.0000000 |
| 1 | 30 | 30 | .0000000 | 5 | .0000000 | 06-01-1401 | 500 | 1.0000000 | 1.0000000 |
| 3 | 30 | 30 | .0000000 | 5 | .0000000 | 06-01-1401 | 600 | 2.0000000 | 3.0000000 |
| 1 | 20 | 20 | .0000000 | 0 | .0000000 | 05-01-1401 | 100 | 1.0000000 | 1.0000000 |
| 3 | 40 | 40 | .0000000 | 0 | .0000000 | 04-01-1401 | 200 | 2.0000000 | 2.0000000 |
| 1 | 10 | 10 | .0000000 | 0 | .0000000 | 03-01-1401 | 200 | 2.0000000 | 2.0000000 |
| 1 | 30 | 30 | .0000000 | 0 | .0000000 | 05-02-1401 | 300 | 3.0000000 | 4.0000000 |
| 2 | 50 | 50 | .0000000 | 0 | 51.0000000 | 06-01-1401 | 400 | 4.0000000 | 5.0000000 |
| 1 | 50 | 50 | .0000000 | 0 | .0000000 | 06-01-1401 | 400 | 4.0000000 | 5.0000000 |
| 2 | 40 | 40 | .0000000 | 2400 | .0000000 | 01-01-1401 | 100 | 1.0000000 | 1.0000000 |
| (12 rows) |
| |
| -- REGR_SXY() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(REGR_SXY(floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.vn) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.prc, |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.qty, |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win4),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.qty)) OVER(order by cf_olap_windowerr_sale.pn asc),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.pn desc range between floor(cf_olap_windowerr_sale.cn)::integer preceding and 1 following ), |
| win2 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc), |
| win3 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc), |
| win4 as (order by cf_olap_windowerr_sale.pn asc); |
| ERROR: division by zero (seg1 slice2 127.0.0.1:25433 pid=55690) |
| -- REGR_SXY() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt, TO_CHAR(COALESCE(REGR_SXY(floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.qty)) OVER(partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.pn desc range between current row and current row ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.cn)) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.qty+cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.pn-cf_olap_windowerr_sale.prc) as int),NULL) OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn AND cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty order by cf_olap_windowerr_sale.pn desc range between current row and current row ), |
| win2 as (order by cf_olap_windowerr_sale.pn asc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc); |
| ERROR: division by zero (seg0 slice5 127.0.0.1:25432 pid=55689) |
| -- REGR_SXY() function with partition by and order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_SXY(floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.qty),floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.pn desc range between floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.qty)::integer following and floor(cf_olap_windowerr_sale.vn*cf_olap_windowerr_sale.prc)::integer following ); |
| ERROR: invalid preceding or following size in window function (seg1 slice1 127.0.0.1:40001 pid=19829) |
| -- REGR_SXY() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.dt, TO_CHAR(COALESCE(REGR_SXY(floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.vn),floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.vn*cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.vn) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.cn*cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc,cf_olap_windowerr_sale.cn desc rows current row ), |
| win2 as (partition by cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc); |
| ERROR: division by zero (seg0 slice3 127.0.0.1:25432 pid=55689) |
| -- REGR_SXY() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(REGR_SXY(floor(cf_olap_windowerr_sale.qty*cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.cn*cf_olap_windowerr_sale.prc) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.prc, |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.vn)) OVER(partition by cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.pn+cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.vn) as int),NULL) OVER(win4),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.pn*cf_olap_windowerr_sale.cn)) OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc,cf_olap_windowerr_sale.vn desc rows between unbounded preceding and floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.pn) preceding ), |
| win2 as (partition by cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc), |
| win3 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc), |
| win4 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc); |
| ERROR: frame ending offset must not be negative (seg0 slice3 127.0.0.1:25432 pid=55715) |
| -- REGR_SXY() function with partition by and order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(REGR_SXY(floor(cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.prc, |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.cn)) OVER(partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc rows between current row and current row ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.cn*cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc rows between current row and current row ); |
| ERROR: division by zero (seg0 slice2 127.0.0.1:25432 pid=55689) |
| -- REGR_SYY() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(REGR_SYY(floor(cf_olap_windowerr_sale.cn*cf_olap_windowerr_sale.vn),floor(cf_olap_windowerr_sale.cn*cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.qty) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(PERCENT_RANK() OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.pn asc range between unbounded preceding and 0 preceding ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc), |
| win3 as (order by cf_olap_windowerr_sale.vn asc); |
| cn | prc | dt | vn | qty | to_char | pn | to_char | to_char | to_char | to_char |
| ----+------+------------+----+------+-------------------+-----+-------------------+-------------------+-------------------+------------------- |
| 1 | 0 | 03-01-1401 | 10 | 1 | 8075.0000000 | 200 | 5.0000000 | 2.0000000 | .0909091 | .0000000 |
| 1 | 0 | 05-01-1401 | 20 | 1 | 1800.0000000 | 100 | .0000000 | 4.0000000 | .2727273 | .0909091 |
| 1 | 5 | 06-01-1401 | 30 | 12 | 12488.8888889 | 500 | .0000000 | 8.0000000 | .6363636 | .1818182 |
| 3 | 5 | 06-01-1401 | 30 | 12 | 13360.0000000 | 600 | .0000000 | 10.0000000 | .8181818 | .1818182 |
| 1 | 0 | 05-02-1401 | 30 | 1 | 8680.0000000 | 300 | .0000000 | 5.0000000 | .3636364 | .1818182 |
| 3 | 5 | 06-01-1401 | 30 | 12 | 12488.8888889 | 500 | .0000000 | 9.0000000 | .7272727 | .1818182 |
| 3 | 0 | 04-01-1401 | 40 | 1 | 8075.0000000 | 200 | .0000000 | 3.0000000 | .1818182 | .5454545 |
| 2 | 2400 | 01-01-1401 | 40 | 1100 | 1800.0000000 | 100 | .0000000 | 1.0000000 | .0000000 | .5454545 |
| 4 | 1 | 06-01-1401 | 40 | 1 | 29366.6666667 | 800 | .0000000 | 12.0000000 | 1.0000000 | .5454545 |
| 4 | 1 | 06-01-1401 | 40 | 1 | 22090.9090909 | 700 | .0000000 | 11.0000000 | .9090909 | .5454545 |
| 1 | 0 | 06-01-1401 | 50 | 1 | 10685.7142857 | 400 | .0000000 | 6.0000000 | .4545455 | .9090909 |
| 2 | 0 | 06-01-1401 | 50 | 1 | 10685.7142857 | 400 | .0000000 | 7.0000000 | .5454545 | .9090909 |
| (12 rows) |
| |
| -- REGR_SYY() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(REGR_SYY(floor(cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.qty) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.qty)) OVER(partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.qty*cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.pn) as int),NULL) OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.pn desc range between floor(cf_olap_windowerr_sale.prc)::integer preceding and current row ), |
| win2 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc); |
| pn | qty | cn | to_char | to_char | vn | to_char | to_char | to_char |
| -----+------+----+-------------------+-------------------+----+-------------------+-------------------+------------------- |
| 100 | 1100 | 2 | 580000.0000000 | .0000000 | 40 | 1.0000000 | 1100.0000000 | .0000000 |
| 200 | 1 | 1 | .0000000 | .0000000 | 10 | 1.0000000 | 1.0000000 | 2640000.0000000 |
| 200 | 1 | 3 | .0000000 | .0000000 | 40 | 1.0000000 | 1.0000000 | .0000000 |
| 100 | 1 | 1 | .0000000 | .0000000 | 20 | 1.0000000 | 1.0000000 | .0000000 |
| 300 | 1 | 1 | .0000000 | .0000000 | 30 | 1.0000000 | 1.0000000 | .0000000 |
| 400 | 1 | 1 | .0000000 | .0000000 | 50 | .5000000 | 1.0000000 | .0000000 |
| 400 | 1 | 2 | .0000000 | .0000000 | 50 | 1.0000000 | 1.0000000 | .0000000 |
| 500 | 12 | 1 | .0000000 | .0000000 | 30 | .5000000 | 12.0000000 | .0000000 |
| 500 | 12 | 3 | .0000000 | .0000000 | 30 | 1.0000000 | 12.0000000 | 60.0000000 |
| 600 | 12 | 3 | .0000000 | .0000000 | 30 | 1.0000000 | 12.0000000 | 60.0000000 |
| 700 | 1 | 4 | .0000000 | .0000000 | 40 | 1.0000000 | 1.0000000 | 60.0000000 |
| 800 | 1 | 4 | .0000000 | .0000000 | 40 | 1.0000000 | 1.0000000 | 1.0000000 |
| (12 rows) |
| |
| -- REGR_SYY() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_SYY(floor(cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.pn) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.qty+cf_olap_windowerr_sale.cn) as int),NULL) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win4),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn asc range between current row and current row ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc), |
| win3 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn desc), |
| win4 as (order by cf_olap_windowerr_sale.cn desc); |
| ERROR: division by zero |
| -- REGR_SYY() function with ONLY order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(REGR_SYY(floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.cn desc range between current row and unbounded following ); |
| ERROR: division by zero |
| -- REGR_SYY() function with ONLY order by having range based framing clause -- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(REGR_SYY(floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.vn asc range between floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.prc)::integer following and floor(cf_olap_windowerr_sale.vn*cf_olap_windowerr_sale.pn)::integer following ); |
| ERROR: division by zero |
| -- REGR_SYY() function with ONLY order by having range based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(REGR_SYY(floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MIN(floor(cf_olap_windowerr_sale.cn*cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.vn asc range between 1 following and floor(cf_olap_windowerr_sale.qty)::integer following ), |
| win2 as (partition by cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn order by cf_olap_windowerr_sale.vn asc); |
| ERROR: division by zero |
| -- REGR_SYY() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(REGR_SYY(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.cn)) OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc,cf_olap_windowerr_sale.vn asc,cf_olap_windowerr_sale.cn desc rows between unbounded preceding and floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.vn) preceding ),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.prc/cf_olap_windowerr_sale.prc) as int),cast (floor(cf_olap_windowerr_sale.qty) as int),NULL) OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc,cf_olap_windowerr_sale.vn asc,cf_olap_windowerr_sale.cn desc rows between unbounded preceding and floor(cf_olap_windowerr_sale.vn-cf_olap_windowerr_sale.vn) preceding ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc); |
| ERROR: division by zero |
| -- REGR_SYY() function with ONLY order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.cn, TO_CHAR(COALESCE(REGR_SYY(floor(cf_olap_windowerr_sale.cn),floor(cf_olap_windowerr_sale.cn-cf_olap_windowerr_sale.qty)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc,cf_olap_windowerr_sale.cn asc,cf_olap_windowerr_sale.vn asc rows between floor(cf_olap_windowerr_sale.qty/cf_olap_windowerr_sale.prc) preceding and 8 following ); |
| ERROR: division by zero (seg0 slice2 127.0.0.1:25432 pid=55689) |
| -- REGR_SYY() function with ONLY order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn, TO_CHAR(COALESCE(REGR_SYY(floor(cf_olap_windowerr_sale.qty*cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc rows between floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.qty) preceding and unbounded following ); |
| ERROR: frame starting offset must not be negative |
| -- REGR_SYY() function with ONLY order by having rows based framing clause in combination with other functions -- |
| SELECT cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt, TO_CHAR(COALESCE(REGR_SYY(floor(cf_olap_windowerr_sale.cn*cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.cn)) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.cn) as int),cast (floor(cf_olap_windowerr_sale.prc) as int),NULL) OVER(win3),0),'99999999.9999999'),cf_olap_windowerr_sale.cn, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.pn*cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.qty) as int),NULL) OVER(win4),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(MAX(floor(cf_olap_windowerr_sale.pn*cf_olap_windowerr_sale.cn)) OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product,cf_olap_windowerr_vendor,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn AND cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn AND cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn) cf_olap_windowerr_sale |
| WINDOW win1 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc rows between current row and 1 following ), |
| win2 as (partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.pn asc), |
| win3 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc), |
| win4 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn desc); |
| ERROR: division by zero |
| -- REGR_SYY() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty, TO_CHAR(COALESCE(REGR_SYY(floor(cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(LAG(cast(floor(cf_olap_windowerr_sale.pn) as int),cast (floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.pn) as int),NULL) OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(ROW_NUMBER() OVER(order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.qty) as int),cast (floor(cf_olap_windowerr_sale.cn/(cf_olap_windowerr_sale.prc+1)) as int),NULL) OVER(win3),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(RANK() OVER(win2),0),'99999999.9999999'), |
| TO_CHAR(COALESCE(DENSE_RANK() OVER(win3),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_customer WHERE cf_olap_windowerr_sale_ord.cn=cf_olap_windowerr_customer.cn ) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.vn desc range unbounded preceding ), |
| win2 as (order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn desc), |
| win3 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc); |
| cn | vn | cn | qty | to_char | pn | to_char | to_char | to_char | to_char | to_char |
| ----+----+----+------+-------------------+-----+-------------------+-------------------+-------------------+-------------------+------------------- |
| 1 | 10 | 1 | 1 | .0000000 | 200 | .0000000 | 2.0000000 | .0000000 | 2.0000000 | 1.0000000 |
| 1 | 20 | 1 | 1 | .0000000 | 100 | .0000000 | 4.0000000 | .0000000 | 4.0000000 | 1.0000000 |
| 1 | 30 | 1 | 1 | .0000000 | 300 | .0000000 | 5.0000000 | 12.0000000 | 5.0000000 | 1.0000000 |
| 1 | 30 | 1 | 12 | .0000000 | 500 | .0000000 | 8.0000000 | 12.0000000 | 8.0000000 | 2.0000000 |
| 3 | 30 | 3 | 12 | .0000000 | 500 | .0000000 | 9.0000000 | 12.0000000 | 9.0000000 | 3.0000000 |
| 3 | 30 | 3 | 12 | .0000000 | 600 | .0000000 | 10.0000000 | 12.0000000 | 10.0000000 | 4.0000000 |
| 2 | 40 | 2 | 1100 | .0000000 | 100 | .0000000 | 1.0000000 | 1100.0000000 | 1.0000000 | 1.0000000 |
| 3 | 40 | 3 | 1 | .0000000 | 200 | .0000000 | 3.0000000 | .0000000 | 3.0000000 | 2.0000000 |
| 4 | 40 | 4 | 1 | .0000000 | 700 | .0000000 | 11.0000000 | .0000000 | 11.0000000 | 3.0000000 |
| 4 | 40 | 4 | 1 | .0000000 | 800 | .0000000 | 12.0000000 | .0000000 | 12.0000000 | 4.0000000 |
| 1 | 50 | 1 | 1 | .0000000 | 400 | .0000000 | 6.0000000 | 1.0000000 | 6.0000000 | 1.0000000 |
| 2 | 50 | 2 | 1 | .0000000 | 400 | .0000000 | 7.0000000 | .0000000 | 7.0000000 | 2.0000000 |
| (12 rows) |
| |
| -- REGR_SYY() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt, TO_CHAR(COALESCE(REGR_SYY(floor(cf_olap_windowerr_sale.vn+cf_olap_windowerr_sale.pn),floor(cf_olap_windowerr_sale.pn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn, |
| TO_CHAR(COALESCE(COUNT(floor(cf_olap_windowerr_sale.pn)) OVER(partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.cn desc range between unbounded preceding and 3 following ),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_vendor WHERE cf_olap_windowerr_sale_ord.vn=cf_olap_windowerr_vendor.vn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.cn desc range between unbounded preceding and 3 following ); |
| ERROR: division by zero (seg0 slice2 127.0.0.1:25432 pid=55689) |
| -- REGR_SYY() function with partition by and order by having range based framing clause in combination with other functions-- |
| SELECT cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_SYY(floor(cf_olap_windowerr_sale.vn),floor(cf_olap_windowerr_sale.qty+cf_olap_windowerr_sale.vn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn, |
| TO_CHAR(COALESCE(LEAD(cast(floor(cf_olap_windowerr_sale.vn) as int),cast (floor(cf_olap_windowerr_sale.vn) as int),NULL) OVER(win2),0),'99999999.9999999'),cf_olap_windowerr_sale.qty, |
| TO_CHAR(COALESCE(CUME_DIST() OVER(win2),0),'99999999.9999999') |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.vn asc range between floor(cf_olap_windowerr_sale.qty-cf_olap_windowerr_sale.vn)::integer preceding and 1 following ), |
| win2 as (partition by cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc); |
| ERROR: invalid preceding or following size in window function (seg0 slice1 127.0.0.1:40000 pid=3933) |
| -- REGR_SYY() function with partition by and order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.prc,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.prc, TO_CHAR(COALESCE(REGR_SYY(floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.pn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.pn asc rows between unbounded preceding and unbounded following ); |
| ERROR: division by zero (seg0 slice2 127.0.0.1:25432 pid=55689) |
| -- REGR_SYY() function with partition by and order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.dt, TO_CHAR(COALESCE(REGR_SYY(floor(cf_olap_windowerr_sale.vn),floor(cf_olap_windowerr_sale.vn/cf_olap_windowerr_sale.prc)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.dt,cf_olap_windowerr_sale.vn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.vn asc rows between 8 preceding and current row ); |
| ERROR: division by zero (seg0 slice1 127.0.0.1:25432 pid=55689) |
| -- REGR_SYY() function with partition by and order by having rows based framing clause -- |
| SELECT cf_olap_windowerr_sale.pn, TO_CHAR(COALESCE(REGR_SYY(floor(cf_olap_windowerr_sale.cn+cf_olap_windowerr_sale.prc),floor(cf_olap_windowerr_sale.cn)) OVER(win1),0),'99999999.9999999'),cf_olap_windowerr_sale.cn,cf_olap_windowerr_sale.qty |
| FROM (SELECT cf_olap_windowerr_sale_ord.* FROM cf_olap_windowerr_sale_ord,cf_olap_windowerr_product WHERE cf_olap_windowerr_sale_ord.pn=cf_olap_windowerr_product.pn) cf_olap_windowerr_sale |
| WINDOW win1 as (partition by cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn,cf_olap_windowerr_sale.qty,cf_olap_windowerr_sale.pn order by cf_olap_windowerr_sale.ord, cf_olap_windowerr_sale.cn asc rows between floor(cf_olap_windowerr_sale.prc-cf_olap_windowerr_sale.pn) preceding and unbounded following ); |
| ERROR: frame starting offset must not be negative (seg0 slice2 127.0.0.1:25432 pid=55689) |
| -- The PRECEDING/FOLLOWING clauses cannot be NULL. |
| SELECT sum(g) OVER (ORDER BY g ROWS BETWEEN NULL::int4 PRECEDING AND UNBOUNDED FOLLOWING) from generate_series(1, 5) g; |
| ERROR: frame starting offset must not be null |
| SELECT sum(g) OVER (ORDER BY g ROWS BETWEEN UNBOUNDED PRECEDING AND NULL::int4 FOLLOWING) from generate_series(1, 5) g; |
| ERROR: frame ending offset must not be null |
| -- Not even an expression that yields NULL at runtime. |
| create function retnull() returns int4 as $$ select NULL::int4 $$ language sql volatile; |
| SELECT sum(g) OVER (ORDER BY g ROWS BETWEEN retnull() PRECEDING AND UNBOUNDED FOLLOWING) from generate_series(1, 5) g; |
| ERROR: frame starting offset must not be null |
| SELECT sum(g) OVER (ORDER BY g ROWS BETWEEN UNBOUNDED PRECEDING AND retnull() FOLLOWING) from generate_series(1, 5) g; |
| ERROR: frame ending offset must not be null |
| drop function retnull(); |
| -- But an expression that contains a NULL, but doesn't return NULL, is OK. (May seem like |
| -- an odd case to test, but we used to incorrectly reject expressions that contained |
| -- any NULL constants anywhere.) |
| SELECT sum(g) OVER (ORDER BY g ROWS BETWEEN (array[1,2, NULL])[1] PRECEDING AND UNBOUNDED FOLLOWING) from generate_series(1, 5) g; |
| sum |
| ----- |
| 15 |
| 15 |
| 14 |
| 12 |
| 9 |
| (5 rows) |
| |
| SELECT sum(g) OVER (ORDER BY g ROWS BETWEEN UNBOUNDED PRECEDING AND (array[1,2, NULL])[1] FOLLOWING) from generate_series(1, 5) g; |
| sum |
| ----- |
| 3 |
| 6 |
| 10 |
| 15 |
| 15 |
| (5 rows) |
| |
| -- The PRECEDING/FOLLOWING expression must be an integer (or coercible to |
| -- an integer). |
| SELECT sum(g) OVER (ORDER BY g ROWS BETWEEN UNBOUNDED PRECEDING AND ('2'::text) FOLLOWING) from generate_series(1, 5) g; |
| ERROR: argument of ROWS must be type bigint, not type text |
| LINE 1: ...ORDER BY g ROWS BETWEEN UNBOUNDED PRECEDING AND ('2'::text)... |
| ^ |
| SELECT sum(g) OVER (ORDER BY g ROWS BETWEEN UNBOUNDED PRECEDING AND '2' FOLLOWING) from generate_series(1, 5) g; |
| sum |
| ----- |
| 6 |
| 10 |
| 15 |
| 15 |
| 15 |
| (5 rows) |
| |
| SELECT sum(g) OVER (ORDER BY g ROWS BETWEEN UNBOUNDED PRECEDING AND '2' || '' FOLLOWING) from generate_series(1, 5) g; |
| ERROR: argument of ROWS must be type bigint, not type text |
| LINE 1: ...(ORDER BY g ROWS BETWEEN UNBOUNDED PRECEDING AND '2' || '' ... |
| ^ |
| SELECT sum(g) OVER (ORDER BY g ROWS BETWEEN UNBOUNDED PRECEDING AND ('2' || '')::integer FOLLOWING) from generate_series(1, 5) g; |
| sum |
| ----- |
| 6 |
| 10 |
| 15 |
| 15 |
| 15 |
| (5 rows) |
| |
| SELECT sum(g) OVER (ORDER BY g ROWS BETWEEN now() PRECEDING AND UNBOUNDED FOLLOWING) from generate_series(1, 5) g; |
| ERROR: argument of ROWS must be type bigint, not type timestamp with time zone |
| LINE 1: SELECT sum(g) OVER (ORDER BY g ROWS BETWEEN now() PRECEDING... |
| ^ |
| -- And it must not be negative. Check with a constant, a stable expression that |
| -- can be evaluated at planning time, and with a volatile expression. |
| create function retneg() returns int4 as $$ begin return -1::int4; end; $$ language plpgsql volatile; |
| SELECT sum(g) OVER (ORDER BY g ROWS BETWEEN UNBOUNDED PRECEDING AND -123 FOLLOWING) from generate_series(1, 5) g; |
| ERROR: frame ending offset must not be negative |
| SELECT sum(g) OVER (ORDER BY g ROWS BETWEEN UNBOUNDED PRECEDING AND '-123' FOLLOWING) from generate_series(1, 5) g; |
| ERROR: frame ending offset must not be negative |
| SELECT sum(g) OVER (ORDER BY g ROWS BETWEEN UNBOUNDED PRECEDING AND ('-123' || '')::integer FOLLOWING) from generate_series(1, 5) g; |
| ERROR: frame ending offset must not be negative |
| SELECT sum(g) OVER (ORDER BY g ROWS BETWEEN UNBOUNDED PRECEDING AND retneg() FOLLOWING) from generate_series(1, 5) g; |
| ERROR: frame ending offset must not be negative |
| drop function retneg(); |
| -- Overriding a window frame (i.e. ROWS BETWEEN ...) in the OVER clause, |
| -- when a frame already given in the WINDOW definition, is not allowed. |
| select avg(a) over (w rows between 1 preceding and 1 following) |
| from generate_series(1,5) a |
| window w as (order by a rows between unbounded preceding and unbounded following); |
| ERROR: cannot copy window "w" because it has a frame clause |
| LINE 1: select avg(a) over (w rows between 1 preceding and 1 followi... |
| ^ |
| CREATE TABLE qp_filter_test (i int, j int) DISTRIBUTED BY (i); |
| INSERT INTO qp_filter_test VALUES (1, 1); |
| INSERT INTO qp_filter_test VALUES (2, 1); |
| INSERT INTO qp_filter_test VALUES (3, 1); |
| INSERT INTO qp_filter_test VALUES (4, 2); |
| INSERT INTO qp_filter_test VALUES (NULL, 2); |
| INSERT INTO qp_filter_test VALUES (6, 2); |
| INSERT INTO qp_filter_test VALUES (7, 3); |
| INSERT INTO qp_filter_test VALUES (8, NULL); |
| INSERT INTO qp_filter_test VALUES (9, 3); |
| INSERT INTO qp_filter_test VALUES (10, NULL); |
| select j, i, ntile(j) over (partition by j order by i) FROM qp_filter_test; |
| j | i | ntile |
| ---+----+------- |
| 1 | 1 | 1 |
| 1 | 2 | 1 |
| 1 | 3 | 1 |
| 2 | 4 | 1 |
| 2 | 6 | 1 |
| 2 | | 2 |
| 3 | 7 | 1 |
| 3 | 9 | 2 |
| | 8 | |
| | 10 | |
| (10 rows) |
| |
| SELECT ntile(-1) over (order by i) FROM qp_filter_test; |
| ERROR: argument of ntile must be greater than zero |
| SELECT ntile(0) over (order by i) FROM qp_filter_test; |
| ERROR: argument of ntile must be greater than zero |
| SELECT ntile(0) over (order by i) FROM qp_filter_test; |
| ERROR: argument of ntile must be greater than zero |
| DROP TABLE qp_filter_test; |
| -- Test use of window functions in places they shouldn't be allowed: MPP-2382 |
| -- CHECK constraints |
| CREATE TABLE wintest_for_window_seq (i int check (i < count(*) over (order by i))); |
| NOTICE: Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 'i' as the Apache Cloudberry data distribution key for this table. |
| HINT: The 'DISTRIBUTED BY' clause determines the distribution of data. Make sure column(s) chosen are the optimal data distribution key to minimize skew. |
| ERROR: window functions are not allowed in check constraints |
| LINE 1: ...TE TABLE wintest_for_window_seq (i int check (i < count(*) o... |
| ^ |
| CREATE TABLE wintest_for_window_seq (i int default count(*) over (order by i)); |
| NOTICE: Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 'i' as the Apache Cloudberry data distribution key for this table. |
| HINT: The 'DISTRIBUTED BY' clause determines the distribution of data. Make sure column(s) chosen are the optimal data distribution key to minimize skew. |
| ERROR: window functions are not allowed in DEFAULT expressions |
| LINE 1: ...REATE TABLE wintest_for_window_seq (i int default count(*) o... |
| ^ |
| -- index expression and function |
| CREATE TABLE wintest_for_window_seq (i int); |
| NOTICE: Table doesn't have 'DISTRIBUTED BY' clause -- Using column named 'i' as the Apache Cloudberry data distribution key for this table. |
| HINT: The 'DISTRIBUTED BY' clause determines the distribution of data. Make sure column(s) chosen are the optimal data distribution key to minimize skew. |
| insert into wintest_for_window_seq values(1); |
| CREATE INDEX wintest_idx_for_window_seq on wintest_for_window_seq (i) where i < count(*) over (order by i); |
| ERROR: window functions are not allowed in index predicates |
| LINE 1: ...indow_seq on wintest_for_window_seq (i) where i < count(*) o... |
| ^ |
| CREATE INDEX wintest_idx_for_window_seq on wintest_for_window_seq (sum(i) over (order by i)); |
| ERROR: syntax error at or near "by" |
| LINE 1: ...ow_seq on wintest_for_window_seq (sum(i) over (order by i)); |
| ^ |
| CREATE INDEX wintest_idx_for_window_seq on wintest_for_window_seq ((sum(i) over (order by i))); |
| ERROR: window functions are not allowed in index expressions |
| LINE 1: ...st_idx_for_window_seq on wintest_for_window_seq ((sum(i) ove... |
| ^ |
| -- alter table |
| ALTER TABLE wintest_for_window_seq alter i set default count(*) over (order by i); |
| ERROR: window functions are not allowed in DEFAULT expressions |
| alter table wintest_for_window_seq alter column i type float using count(*) over (order by |
| i)::float; |
| ERROR: window functions are not allowed in transform expressions |
| LINE 1: ...st_for_window_seq alter column i type float using count(*) o... |
| ^ |
| -- select |
| select * from wintest_for_window_seq where count(*) over (order by i) > 0; |
| ERROR: window functions are not allowed in WHERE |
| LINE 1: select * from wintest_for_window_seq where count(*) over (or... |
| ^ |
| -- update |
| update wintest_for_window_seq set i = count(*) over (order by i); |
| ERROR: window functions are not allowed in UPDATE |
| LINE 1: update wintest_for_window_seq set i = count(*) over (order b... |
| ^ |
| update wintest_for_window_seq set i = 1 where count(*) over (order by i) > 0; |
| ERROR: window functions are not allowed in WHERE |
| LINE 1: update wintest_for_window_seq set i = 1 where count(*) over ... |
| ^ |
| -- delete |
| delete from wintest_for_window_seq where count(*) over (order by i) > 0; |
| ERROR: window functions are not allowed in WHERE |
| LINE 1: delete from wintest_for_window_seq where count(*) over (orde... |
| ^ |
| drop table wintest_for_window_seq; |
| -- |
| -- Test "window does not exist" error in window parsing code |
| -- |
| select row_number() over (bogus) FROM generate_series(1,10) i; |
| ERROR: window "bogus" does not exist |
| LINE 1: select row_number() over (bogus) FROM generate_series(1,10) ... |
| ^ |
| select row_number() over bogus FROM generate_series(1,10) i; |
| ERROR: window "bogus" does not exist |
| LINE 1: select row_number() over bogus FROM generate_series(1,10) i; |
| ^ |
| -- |
| -- STANDARD DATA FOR olap_* TESTS. |
| -- |
| -- start_ignore |
| drop table cf_olap_windowerr_customer; |
| drop table cf_olap_windowerr_vendor; |
| drop table cf_olap_windowerr_product; |
| drop table cf_olap_windowerr_sale; |
| drop table cf_olap_windowerr_sale_ord; |
| -- end_ignore |