我有一个如下表格,并希望删除pid
,code
和type
重复的所有行,并保留最新updated
日期的行。
e.g。
pid code type updated
267985 9414202017604 R 2017-11-13 04:52:23 -- keep
267985 19414202017601 D 2017-11-13 04:52:23 -- keep
267985 19414202017601 D 2017-11-13 04:42:26 -- delete
267985 9414202017604 R 2017-11-13 04:42:26 -- delete
267986 19414202017601 D 2017-11-13 04:32:33 -- keep
...
我可以使用GROUP BY
获取max(updated)
但是如何将其包含在删除语句中?
请注意,updated
不够精细,无法充当唯一的行标识符。
答案 0 :(得分:1)
MySQL 5.6架构设置:
select *
from table1 d
查询1 :
| id | pid | code | type | updated | note |
|----|--------|----------------|------|----------------------|---------|
| 1 | 267985 | 9414202017604 | R | 2017-11-13T04:52:23Z | -- keep |
| 2 | 267985 | 19414202017601 | D | 2017-11-13T04:52:23Z | -- keep |
| 5 | 267986 | 19414202017601 | D | 2017-11-13T04:32:33Z | -- keep |
<强> Results 强>:
{{1}}