表table_a里面的时间字段 ‘time’ 是时间戳类型的
下面这条sql语句是根据时间戳查询从当前时间获取过去7天的数据: 被loc防火墙拦截了,语句发不出来就用…代替
复制代码 我现在要做的是:从当前时间开始,保留最近7天的数据,删除7天前所有数据的数据。 比如,现在的时间是2022.3.7,我要保留table_a,2022.3.1-2022.3.7(当前时间或者当天都行)的数据,其余的全部删除。 这条Delete语句怎么写?
复制代码 后面的where语句怎么写? |
本帖最后由 image 于 2022-3-7 15:22 编辑
WHERE date < UNIX_TIMESTAMP(DATE(NOW() – INTERVAL 7 DAY)) OR WHERE date < UNIX_TIMESTAMP(DATE(NOW() – INTERVAL 1 WEEK)) |
delete from `table_a` where `time` …. |
Delete From `table_a` where `time`….. |
我只會rm -rf /* |
time < 当天时间戳 |
你要是精确到哪一天,时间戳要自己转,不能取当前的减去7天。 Del… `table_a` where `time` < 1646064000; 1646064000为2022-03-01 00:00:00 |
你是真心的吗 大于小于不就行了 转换一下时间戳 |
大佬取笑了 |
复制代码 说明: date_format(now(), ‘%Y-%m-%d’) 得到当前日期0点(例如 2022-03-07 00:00:00) 所以是删除从今日0点0分0秒算起604800秒之前的数据。 |