add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
Help with an interesting Postgres question: Why isn't an Index Only Scan used on a partition accessed via the parent table?.
create table input (time varchar(100), useid varchar(100), value int);
CREATE TABLE
insert into input values ('t1','116C123',2);
INSERT 0 1
insert into input values ('t2','116C123',3);
INSERT 0 1
insert into input values ('t3','116C123',4);
INSERT 0 1
insert into input values ('t4','116C123',5);
INSERT 0 1
insert into input values ('t2','116C111',6);
INSERT 0 1
insert into input values ('t3','116C111',7);
INSERT 0 1
insert into input values ('t4','116C111',8);
INSERT 0 1
select * from input;
time useid value
t1 116C123 2
t2 116C123 3
t3 116C123 4
t4 116C123 5
t2 116C111 6
t3 116C111 7
t4 116C111 8
SELECT 7
CREATE AGGREGATE MULTIPLICATE (int8) (SFUNC = int8mul, STYPE = int8);
CREATE AGGREGATE
SELECT
time,
useid,
value,
MULTIPLICATE(value) OVER (PARTITION BY useid ORDER BY useid, value) AS plt
FROM input
GROUP BY useid, value, time
ORDER BY useid, value, time;
time useid value plt
t2 116C111 6 6
t3 116C111 7 42
t4 116C111 8 336
t1 116C123 2 2
t2 116C123 3 6
t3 116C123 4 24
t4 116C123 5 120
SELECT 7