TP數據避免重複和去重處理
- 2020 年 2 月 14 日
- 筆記
一.先在你的數據表設置好唯一索引,sql語句如下:

alter table gift_doc add unique index(num_id);
如下圖

Db::name('giftDoc')->insert($data_list,true);
//只要第二個參數$replace 等於true就行,
tp核心框架封裝了,如下圖

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

//實例化數據表
$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去重,最終的顯示結果為所有欄位,且對單一欄位進行了去重操作,效果不錯,
但最終顯示結果除去去重欄位外,按照第一個欄位進行排序,可能還需要處理。