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)

          最新隨筆

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 西昌市| 麻阳| 东丽区| 大悟县| 额济纳旗| 丹阳市| 靖西县| 瑞丽市| 甘泉县| 喀什市| 临颍县| 胶州市| 宝应县| 遂宁市| 晋中市| 罗甸县| 漳州市| 麻江县| 凌源市| 青铜峡市| 诏安县| 奉节县| 南皮县| 兰考县| 乐至县| 根河市| 新昌县| 潜江市| 临洮县| 长白| 沭阳县| 栖霞市| 石门县| 南雄市| 西昌市| 博爱县| 许昌县| 长治市| 广南县| 泉州市| 景宁|