mysql去掉重复行

mysql去掉重复行,第1张

删除数据表中重复数据,可以使用以下SQL语句

mysql>CREATE TABLE tmp SELECT no, name, sex FROM student GROUP BY (no, sex)

mysql>DROP TABLE student

mysql>ALTER TABLE tmp RENAME TO student

也可以在数据表中添加INDEX(索引)和 PRIMAY KEY(主键)来删除表中的重复记录,方法如下:

mysql>ALTER IGNORE TABLE student

->ADD PRIMARY KEY (no)

假如我有一张表,

数据在某一个字段有重复(比如我现在的ID重复了)

那么我使用:

SELECT id,COUNT(*) FROM table

GROUP BY id

HAVING COUNT(*) >1

语句 意思:

从读下来是 查询id,并且统计行数

数据来自 table表

按照id列进行分组(如果我们按照性别分组,那么现出来的数据只有"男 女")

当统计完成后,count的结果大于1才予以显示

简单的来说就是根据id列进行分组统计,大于1的所有数据显示出来:

使用DELETE 配合 IN 进行删除(IN 如果里面是SQL语句,请尽量不要用于线上程序):

DELETE FROM table WHERE

id IN (

SELECT id FROM (

SELECT id,COUNT(*) FROM table

GROUP BY id

HAVING COUNT(*) >1

) AS a

) LIMIT 1


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8500533.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存