tp5 去重查詢 distinct和group by
阿新 • • 發佈:2018-12-19
例子
$teachers_list=Db::name('class') ->alias('c') ->join('admin a','c.teachers_id = a.id') ->join('teachers t','a.id = t.admin_id') ->field('t.id,t.title,t.content,t.img,t.description,t.lectureship,a.qq,c.teachers_id') ->where('c.pid',$id) ->Distinct(true) ->select();
近期專案中,遇到資料表去重要求,對於ThinkPHP的去重有了更加準確的認識和體會。 兩種去重方式:
//例項化資料表
$test_data= M('hot');
//利用distinct方法去重
$data=$test_data->Distinct(true)->field('descriprion')->order('description desc')->select();
//利用group方法去重
$data=$test_data->group('description')->order('description desc')->select();
dump($data);
對於兩種去重方式:
利用distinct去重、簡單易用,但只能對於單一欄位去重,並且最終的結果也僅為去重的欄位,
實際應用價值不是特別大。
利用group去重,最終的顯示結果為所有欄位,且對單一欄位進行了去重操作,效果不錯,
但最終顯示結果除去去重欄位外,按照第一個欄位進行排序,可能還需要處理。