天天看點

distinct去重多個字段_TP資料避免重複和去重處理//利用distinct方法去重//利用group方法去重

​一.先在你的資料表設定好唯一索引,sql語句如下:

distinct去重多個字段_TP資料避免重複和去重處理//利用distinct方法去重//利用group方法去重

alter table gift_doc add unique index(num_id);

如下圖

distinct去重多個字段_TP資料避免重複和去重處理//利用distinct方法去重//利用group方法去重

Db::name('giftDoc')->insert($data_list,true);

//隻要第二個參數$replace 等于true就行,

tp核心架構封裝了,如下圖

distinct去重多個字段_TP資料避免重複和去重處理//利用distinct方法去重//利用group方法去重

二.如果入庫資料已經重複,不能添加唯一索引,資料輸出需要去重處理

distinct去重多個字段_TP資料避免重複和去重處理//利用distinct方法去重//利用group方法去重

//執行個體化資料表

$test_data= M('hot');

//利用distinct方法去重

$data=$test_data->Distinct(true)->field('num_id')->order('num_id desc')->select();

//利用group方法去重

$data=$test_data->group('description')->order('description desc')->select();

dump($data);

對于兩種去重方式:

利用distinct去重、簡單易用,但隻能對于單一字段去重,并且最終的結果也僅為去重的字段,

實際應用價值不是特别大。

利用group去重,最終的顯示結果為所有字段,且對單一字段進行了去重操作,效果不錯,

但最終顯示結果除去去重字段外,按照第一個字段進行排序,可能還需要處理。

distinct去重多個字段_TP資料避免重複和去重處理//利用distinct方法去重//利用group方法去重

繼續閱讀