如何在mysql中使用临时表删除重复项
当Mysql表中只有一列时,如何删除重复项 如果表中有以下行如何在mysql中使用临时表删除重复项,sql,Sql,当Mysql表中只有一列时,如何删除重复项 如果表中有以下行 mysql> select * from EMP ; +------+ | id | +------+ | 10 | | 10 | | 10 | | 20 | | 20 | | 30 | +------+ 删除重复项后我需要行 10 20 30 我不想使用任何其他临时表。需要删除查询才能删除mysql中的重复项使用distinct 您可以使用行编号删除重复项: with todelete as (
mysql> select * from EMP ;
+------+
| id |
+------+
| 10 |
| 10 |
| 10 |
| 20 |
| 20 |
| 30 |
+------+
删除重复项后我需要行
10
20
30
我不想使用任何其他临时表。需要删除查询才能删除mysql中的重复项使用distinct
您可以使用行编号删除重复项:
with todelete as (
select em.*, row_number() over (partition by id order by id) as seqnum
from em
)
delete from todelete
where seqnum > 1;
提示:SELECT DISTINCT。SELECT语句用于检索。我希望从表中删除重复的ID此表中是否有唯一的列?Select语句用于检索。我想从表中删除重复的ID。您的dbms是什么@DeepthiMysql是我的dbms。
with todelete as (
select em.*, row_number() over (partition by id order by id) as seqnum
from em
)
delete from todelete
where seqnum > 1;