筛选数据去重
如上图,数据多插入了一次,
第一个问题:能根据datetime字段删除重复数据,只保留一条么?
第二个问题:筛选的时候,重复数据怎么只筛选一条?
回答
是分布式表吗?若要去除分布式表中的重复记录,可以使用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后面为负数,表示取每个分组的最后一条记录。
数据库里面去重,可以把分区数据读到内存表后,按上述方法去重,然后把分区删除,再把去重后的结果集插入表中。
以上是 筛选数据去重 的全部内容, 来源链接: utcz.com/a/65076.html