Sorry I jumped the gun, didn't realize it was a delete. The problem is that 
GROUP BY does not work with DELETE. You can try this:

DELETE FROM <mytable> where id IN (SELECT id from <my table> GROUP BY id HAVING 
COUNT(*) > 1);

Not sure whether this will work though. You can always use a temp table for 
this purpose although that is not so appealing as doing it in one query

CREATE TABLE tmp LIKE <mytable>;
INSERT INTO tmp SELECT * from <my table> GROUP BY id HAVING COUNT(*) = 1;
DROP TABLE <mytable>;
RENAME TABLE tmp TO <mytable>;


Thanks
Aveek

On May 9, 2011, at 7:54 PM, Aveek Misra wrote:

> SELECT * from <table>  group by id having count = 1;
> 
> On May 9, 2011, at 5:45 PM, abhishek jain wrote:
> 
>> hi,
>> If we have a following mysql table:
>> Name - ids
>> A          1
>> B          1
>> C          2
>> D          3
>> 
>> I want to remove all duplicate occurances and have a result like
>> Name - ids
>> C           2
>> D           3
>> 
>> how can i do that with a query in mysql
>> 
>> Pl. help asap
>> -- 
>> Thanks and kind Regards,
>> Abhishek jain
> 
> 
> -- 
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:    http://lists.mysql.com/mysql?unsub=ave...@yahoo-inc.com
> 


--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/mysql?unsub=arch...@jab.org

Reply via email to