Mysql 如果一天内有多个数据集,如何保存最新的数据集
我有一张表,每天随机更新不止一次。每次更新包含大约2000行。我希望每天保留最新的数据集,并删除更多的旧行。我构建了一个例子: “日期”表包含:Mysql 如果一天内有多个数据集,如何保存最新的数据集,mysql,Mysql,我有一张表,每天随机更新不止一次。每次更新包含大约2000行。我希望每天保留最新的数据集,并删除更多的旧行。我构建了一个例子: “日期”表包含: +-------+-------+---------+---------------------+ | title | hhm | hhm_sum | updated | +-------+-------+---------+---------------------+ | 74142 | 21525 | 5874136 |
+-------+-------+---------+---------------------+
| title | hhm | hhm_sum | updated |
+-------+-------+---------+---------------------+
| 74142 | 21525 | 5874136 | 2020-06-15 00:00:00 |
| 74142 | 5263 | 2145 | 2020-06-22 00:00:00 |
| 74142 | 21254 | 21458 | 2020-06-22 04:00:00 |
| 74142 | 21458 | 3652 | 2020-06-22 08:00:00 |
| 74142 | 2158 | 1257 | 2020-06-20 00:00:00 |
+-------+-------+---------+---------------------+
使用:SELECT*FROM test.date WHERE updated>date\u SUB(日期(NOW()),间隔24小时)代码>
我得到了过去24小时的数据集:
+-------+-------+---------+---------------------+
| title | hhm | hhm_sum | updated |
+-------+-------+---------+---------------------+
| 74142 | 5263 | 2145 | 2020-06-22 00:00:00 |
| 74142 | 21254 | 21458 | 2020-06-22 04:00:00 |
| 74142 | 21458 | 3652 | 2020-06-22 08:00:00 |
+-------+-------+---------+---------------------+
我想在同一天删除旧的行并保留最新的行。如何获取和处理此值
也许有人能帮忙
非常感谢。如果您想保留最新的一行,请按updated desc
排序,然后选择第一行
select *
from test_date
order by updated desc
limit 1
如果可能有多行都更新了最新的
,请执行a以获取max(updated)
欢迎来到堆栈溢出。请给我们看看你试过什么,以及你想保留的行和不保留的行的示例。最后,更新的是什么类型的?请阅读此文了解如何提问。你必须说明什么是最古老的,最古老的10个,从下午开始,一个有数据的例子会帮助你或看到
select *
from test_date
where updated = (
select max(updated) from test_date
)