MySQL中刪除重復記錄

          DELETE FROM users
          WHERE NAME  IN (SELECT  NAME
                                    FROM users
                                    GROUP  BY  NAME
                                    HAVING  COUNT(NAME) > 1)
               AND
               id NOT IN (SELECT MIN(id)
                                 FROM  users
                                 GROUP BY NAME
                                 HAVING COUNT(NAME)>1)

          這樣寫的話會提示
          Error Code : 1093
          You can't specify target table 'users' for update in FROM clause

          改成>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

          DELETE users AS a FROM users AS a,
          (
          SELECT *,MIN(id) FROM users GROUP BY name HAVING COUNT(1) > 1
          ) AS b
           WHERE a.name = b.name AND a.id > b.id;

          posted on 2009-08-09 17:40 想飛就飛 閱讀(332) 評論(0)  編輯  收藏 所屬分類: 開發工具&環境

          公告


          導航

          <2009年8月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          統計

          常用鏈接

          留言簿(13)

          我參與的團隊

          隨筆分類(69)

          隨筆檔案(68)

          最新隨筆

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 永昌县| 浙江省| 双桥区| 全州县| 涞水县| 嘉善县| 香河县| 双峰县| 辽源市| 夏津县| 张家口市| 本溪| 天峻县| 温州市| 静安区| 泸水县| 吉林省| 疏勒县| 平定县| 汝阳县| 云南省| 托克逊县| 如东县| 永兴县| 碌曲县| 峨山| 大化| 甘肃省| 六盘水市| 鄯善县| 碌曲县| 甘泉县| 金川县| 上思县| 广饶县| 永春县| 北川| 雅安市| 甘南县| 洱源县| 万年县|