remove duplicate values in the same table My table looks like:

+----+---------+
| id | name    |
+----+---------+
|  1 | uska    |
|  2 | chinese |
|  3 | bakshi  |
|  4 | jj      |
|  5 | uska    |
+----+---------+


I want it to change it to

+----+---------+
| id | name    |
+----+---------+
|  1 | uska    |
|  2 | chinese |
|  3 | bakshi  |
|  4 | jj      |
+----+---------+


modify changes in the same table without switching to another table.

I tried many ways, many hrs to delete or select but doesn't work, I did use code to resolve this, but I will appreciate for any explanation, thank you.

I tried in two ways like


delete from t where id&lt;&gt;(select id from t group by name); 


Here I am getting an error as


  Table 't' is specified twice, both as a target for 'DELETE' and as a separate source for data"



delete t1.* from t t1,t t2 where 1.id&lt;&gt;t2.id and t1.name=t2.name;


2 duplicate rows are getting deleted instead of one.
Join table to itself:

DELETE z.*
  FROM table AS w
  JOIN table AS z  ON z.name = w.name
                  AND z.id &gt; w.id
;