mysql删除重复数据只保留id最大一条记录
来源:互联网 发布:修改linux 7主机名 编辑:程序博客网 时间:2024/04/28 01:29
一:首先是这么想的
DELETE
FROM
t_4g_phone
WHERE
id NOT IN (
SELECT
max(b.id) AS id
FROM
t_4g_phone b
GROUP BY
b.SERIAL_NUMBER
)
发现在mysql中会报错
错误信息:[Err] 1093 - You can't specify target table 't_4g_phone' for update in FROM clause
于是查资料说是不能先select出同一表中的某些值,再update这个表(在同一语句中)
二:正确写法
DELETE
FROM
t_4g_phone
WHERE
id NOT IN (
SELECT
id
FROM
(
SELECT
max(b.id) AS id
FROM
t_4g_phone b
GROUP BY
b.SERIAL_NUMBER
) b
)
也就是说将select出的结果再通过中间表select一遍,这样就规避了错误。注意,这个问题只出现于mysql,mssql和oracle不会出现此问题
3 0
- mysql删除重复数据只保留id最大一条记录
- mysql 删除重复数据只保留一条记录
- mysql删除重复记录只保留一条数据
- mysql 删除重复数据只保留一条记录
- MySQL下删除重复记录只保留一条数据
- MySQL删除重复记录只保留一条
- MySQL删除重复记录只保留一条
- MySQL删除重复记录只保留一条
- MySQL删除重复记录只保留一条
- mysql删除重复记录,只保留一条。
- mysql删除重复数据只保留一条
- mysql 删除重复数据只保留一条
- mysql 删除重复数据只保留一条
- mysql 删除重复数据只保留一条
- mysql删除重复数据只保留一条
- 【mysql】删除重复数据只保留一条
- sql 删除重复记录,只保留ID号最小(或最大)的一条
- SQL针对单列删除重复数据只保留一条id最大的数据
- patterns
- 20170420
- 题目1176:树查找
- span标签居中显示的正确方法
- Ubuntu16.04 安裝後無法打開wifi問題
- mysql删除重复数据只保留id最大一条记录
- Eclipse 打jar三种不同方式的区别
- 某些java类为什么要实现Serializable接口
- [SMOJ1811]正方形个数
- 关注还是忽视祖先
- oracle中的decode的使用
- Python中不重复三位数算法的计算
- 使用Mat.at访问数据的对应关系
- 解决VirtualBox中的MySQL数据库,Mac无法访问的问题(通过端口映射的方式)