MySql 错误 - 优先删除重复行

MySql Error - Delete Duplicates Rows with priority

前期信息

我 table 打电话给 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");

测试Table

| 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