gpt4 book ai didi

mysql - 如何删除除每小时一条以外的所有记录

转载 作者:行者123 更新时间:2023-11-29 03:33:46 24 4
gpt4 key购买 nike

我有一个包含数百万传感器记录的 mysql 表,其结构如下:

datanumber (auto increment), 
stationid (int),
sensortype (int),
measuredate (datetime),
data (medtext)

每个站点每 2-10 分钟为每种传感器类型(2-5 个传感器)添加一条记录

我想每小时、每个传感器、每个站点只保留一个记录并且仅当测量值超过 1 年时才会如此。

我知道如何选择超过一年的数据,但我不知道如何删除行,除了每小时删除一行。它是第一个、最后一个还是每小时保留的随机值并不重要。我也不需要计算平均值什么的,只需要去掉存储的记录量

最佳答案

你应该可以做类似的事情

Select * from observations where <old> group by sensortype, stationid, extract(year_month, measure_date), extract(day_hour, measure_date);

group_by会将每组中的记录折叠成一个。如果需要,您可以将其选择到新表中。

如果你真的需要删除所有多余的旧记录,只需使用上面的查询选择数据编号,然后删除所有记录NOT IN(<those ids>) .

关于mysql - 如何删除除每小时一条以外的所有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26536658/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com