是分布式表吗?若要去除分布式表中的重复记录,可以使用context by子句在查询时去重。
context by是DolphinDB独有的功能,是对标准SQL语句的拓展。context by与group by类似,都对数据进行分组,但是使用group by时,每一组返回一个标量值,而使用context by时,每一组返回一个和组内元素数量相同的向量。context by与limit一起使用能够获取表中每个分组前n条记录或最后n条记录。用context by去重的例子如下:
select * from sensors where datetime between 2020.11.01T00:00:00 : 2020.11.03T23:59:59 context by datetime limit -1
上述代码limit后面为负数,表示取每个分组的最后一条记录。
数据库里面去重,可以把分区数据读到内存表后,按上述方法去重,然后把分区删除,再把去重后的结果集插入表中。
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…