0

我有一个包含两列的表:

count | when
101   | 10:11
101   | 10:12
102   | 10:13
102   | 10:14
102   | 10:15
102   | 10:16
103   | 10:17
105   | 10:18
105   | 10:19
105   | 10:20

我需要删除所有重复的count条目,但留下两行具有最小值和when最大值:

count | when
101   | 10:11
101   | 10:12
102   | 10:13 _ removed 2 rows
102   | 10:16
103   | 10:17
105   | 10:18 _ removed 1 row
105   | 10:20

这是为了最小化表格大小,主要用于统计目的,因此具有相同 Y 轴值的点是不相关的。

4

1 回答 1

1

MySQL 支持命令join的语法delete

使用此语法,您可以为要删除的相应记录设置过滤器:

delete t
    from yourtable t join
         (select count, min(when) as minwhen, max(when() as maxwhen
          from yourtable
          group by count
         ) tokeep
         on t.count = tokeep.count and (t.when > tokeep.minwhen and t.when < tokeep.maxwhen);
于 2013-08-22T22:51:23.520 回答