网站地图

tp5 查询重复数据只留一条 查询重复 去重查询
2020-09-05 09:42:11   来源:   评论:0 点击:

今天给大家分享的内容是,查询重复数据下面的代码是 后台控制器的具体代码,public function select_repeat(){$test_data= Db::table(&



今天给大家分享的内容是,查询重复数据

下面的代码是  后台控制器的具体代码,

public function select_repeat()
{
$test_data= Db::table('data');
 
//获取phone列数组
$data_phone = Db::table('data')->column('phone');
//去重查询
$data=$test_data->Distinct(true)->field('phone')->order('id asc')->select();
//dump($data);die;
//将获取到的数组去重
$unique_arr = array_unique ( $data_phone );
//dump($unique_arr);die;
// 获取重复数据的数组
$array = array_diff_assoc ( $data_phone, $unique_arr );
 
//sql原生查询重复数据并且只留一条
$res = Db::execute('DELETE from data WHERE (phone) in 
(SELECT phone from (SELECT phone FROM data GROUP BY phone HAVING COUNT(phone)>1) s1) 
AND id NOT in (SELECT id from (SELECT id FROM data GROUP BY phone HAVING COUNT(phone)>1) s2)
');
 
}


上面代码有一个  sql原生语句查询的方法,
具体看您的需求,是用原生语句,还是用原生语句上面的方法,自己看情况而用。



 

相关热词搜索:查询重复数据 tp5

上一篇:tp5 前端代码原样输出 html源码输出 源代码被输出
下一篇:tp5 下拉框表单提交 表单提交 源兆网

分享到: 收藏