Hristo Katsarski
04/21/2023, 6:45 AMSELECT code, ddate FROM stock GROUP BY code, ddate HAVING COUNT(ddate) > 1;
Bolek Ziobrowski
04/21/2023, 7:17 AMSELECT code, ddate
FROM
(
SELECT code, ddate, count(ddate) as cnt
FROM stock
GROUP BY code, ddate
) WHERE cnt > 1;
Are you sure you only want to count duplicates for pairs with non-null ddate ?
Removing duplicates could either be:
• logical (update stock set deleted = true where ...) or
• physical - DELETE statement is not supported so you'd need to recreate table or partitions .
See https://questdb.io/docs/guides/modifying-data/ .Hristo Katsarski
04/21/2023, 7:33 AMAlex Pelagenko
04/21/2023, 7:59 AMMiguel Arregui
04/21/2023, 8:04 AMSELECT code, ddate FROM
(
SELECT code, ddate, count(ddate) as cnt
FROM p
GROUP BY code, ddate
) WHERE cnt > 1;
create table p(code symbol, ddate timestamp, ts timestamp) timestamp(ts) partition by day;
insert into p values('A', '2023-04-21T10:00:00.000001Z', '2023-04-21T10:00:00.000001Z');
insert into p values('A', '2023-04-21T10:00:01.000001Z', '2023-04-21T10:00:01.000001Z');
insert into p values('A', '2023-04-21T10:00:01.000001Z', '2023-04-21T10:00:01.000001Z');
insert into p values('B', '2023-04-21T10:00:01.000002Z', '2023-04-21T10:00:01.000002Z');
insert into p values('C', '2023-04-21T10:00:02.000002Z', '2023-04-21T10:00:02.000002Z');
insert into p values('A', '2023-04-21T10:00:02.000003Z', '2023-04-21T10:00:03.000002Z');