+----+-----------+
| ID | name |
+----+-----------+
| 1 | fooo |
| 2 | FWAEFAWEF |
| 3 | test |
| 4 | test |
| 5 | test |
+----+-----------+
这是im使用的数据库表(t1),我尝试删除重复的行,只留下一个唯一的行,我尝试在admin中使用公共表表达式
mysql> WITH cte AS (
-> SELECT
-> ID,
-> name,
-> ROW_NUMBER() OVER (
-> PARTITION BY
-> name
-> ORDER BY
-> name
-> ) row_num
-> FROM
-> discord.t1
-> )
-> DELETE FROM cte
-> WHERE row_num >1;
ERROR 1288 (HY000): The target table cte of the DELETE is not updatable
我遵循一个关于删除重复表的教程,所以我从中得到了查询,但是我不确定是否应该链接它
2条答案
按热度按时间oogrdqng1#
使用自联接:
请看演示。
结果:
ybzsozfc2#
一种方法使用聚合: