MySql错误-删除具有优先级的重复行



预信息

我有一张叫Test:的桌子

-- Table Creation
CREATE TABLE Test(
id integer,
title varchar (100)
);
-- Insertion
INSERT INTO Test Values 
(1, "Hi"), 
(2, 'Hello'), 
(2, "Hellew"), 
(3, "World"), 
(3,"Wordy");

测试表

| Id | title  |
|----|--------|
| 1  | Hi     |
| 2  | Hello  |
| 2  | Hellew |
| 3  | World  |
| 3  | Wordy  |

流程

我想delete重复id基于优先级

问题

这是输出错误我得到

ERROR 1093 (HY000) at line 5: You can't specify target table 'Test' for update in FROM clause

所需输出

| Id | title  |
|----|--------|
| 1  | Hi     |
| 2  | Hello  |
| 3  | World  |

谢谢,

您没有明确提到什么是">优先级";在这里但在输出示例中,我假设优先级是保留那些比具有类似id的其他字符串更大的字符串。以下是我的代码:

delete a.* from Test a join Test b
on a.id = b.id where a.title < b.title;
select * from Test;

参考

MySQL:ALIASES

相关内容

  • 没有找到相关文章

最新更新