我有一个表,其中包含MySQL数据如下。 Size
以MB为单位显示文件大小。从MYSQL中删除数据
--------------------------------------------
| id | name | size | user_id | created_at |
--------------------------------------------
| 1 | a | 120 | 1 | 2017-04-03 |
--------------------------------------------
| 2 | b | 280 | 1 | 2017-04-04 |
--------------------------------------------
| 3 | c | 220 | 1 | 2017-04-05 |
--------------------------------------------
现在,我想删除最老的数据,如果一个特定的用户已超过500MB的限制。在上面的情况下,需要删除ID#1
。
任何人都可以帮我写一个查询吗?
不是500 MB。能请你解释逻辑 –
从table_name的 删去created_at中(选择分钟(从表名created_at)) –
比方说,一个用户已经订阅了软件包A给予用户1024MB空间。现在,由于x用户帐户被降级为免费软件包,使用户可以获得500MB的空间。所以我需要删除较旧的和空间不足的文件。 #2和#3是最新的,它们的大小总和为500MB。因此,我们将保留这些文件 –