mysql去重sql語句,以及刪除表部分內容,重新排序


DELETE wb_fmh_copy    --   表名  
FROM
 wb_fmh_copy,     --   表名
 (
  SELECT
   min(id) id,   --   查詢最小id  並假命名id
   send_Time,  --   去重依據的字段,下面兩個同是, 多個字段依據去重
   content,
   yuanchuang_info
  FROM
   wb_fmh_copy   --   表名
  GROUP BY
   send_Time,  --   分組依據字段
   content,
   yuanchuang_info
  HAVING
   count(*) > 1    --   分組后大於數量大於1的  即有重復內容
 ) t2    --   t2來代表查詢的結果
WHERE
 wb_fmh_copy.send_Time = t2.send_Time   --   刪除判斷的條件為  查詢的結果 等於 原表中內容的結果
 and wb_fmh_copy.content = t2.content
 and wb_fmh_copy.yuanchuang_info = t2.yuanchuang_info
AND wb_fmh_copy.id > t2.id;     --必須id為不一樣的結果   

以上去重為一句去重sql , 修改轉載於     https://www.jb51.net/article/129656.htm

 

去重后遺留的問題 如果 id 為自增長的,去重后id將不是完整的順序-----如何重新自增 讓 id 正常順序-------navicat

刪除主鍵欄位,   重新定義主鍵id ,並設置默認自增長,,保存打開表后,會發現id會重新排序

 

簡單明了,直接上手,我的理念。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM