select min(id) as id from a group by title;

select id from a group by id
执行的结果是一样的,但是下面两条语句的结果就不一样呢?
mysql> delete a,b from (a left join b on a.id=b.aid)
    ->  left join (select min(id) as id from a group by title) c on a.id=c.id
    -> where c.id is null;]
Query OK, 10 rows affected (0.00 sec)
mysql> delete a,b from (a left join b on a.id=b.aid)
    ->  left join (select id from a group by id) c on a.id=c.id
    -> where c.id is null;
Query OK, 0 rows affected (0.00 sec)
这个是我在看帖子的时候看到的 呵呵
http://topic.csdn.net/u/20101008/20/e285fe37-437e-4eab-ab21-98bf1bc70ea2.html?56531
原来是ACMAIN_CHM回答的。。希望能再帮我解答一下 谢谢。。我是新手

解决方案 »

  1.   

    你的记录都已经删除掉了,自然不会再删除一遍。在你做第二个DELETE的时候先恢复一下记录。
      

  2.   

    先执行:mysql> delete a,b from (a left join b on a.id=b.aid)
        ->  left join (select id from a group by id) c on a.id=c.id
        -> where c.id is null;
    Query OK, 0 rows affected (0.00 sec)也是一样的  也是一条都么有删。。
    如果把where c.id is null去掉,则全都删除了
      

  3.   

    搞错了 是group by title的 我搞成id了 不好意思。。