Yii2去除重复数据

要求:去除数据库中重复的xid数据,并且只保留一条最大的id的数据

解决
User::find()->select(“id”)->groupBy([‘xid’])->where([‘<>’,’xid’, 0])
->andWhere([‘<>’,’province_id’, 0])
->orderBy(‘xid DESC’)->asArray()->all();

注意:groupBy是将重复的xid打组,orderBy(‘xid DESC’)是关键,倒叙排列后即可将最大的排到最前面。

执行完后可以在数据库中执行SQL语句查看效果

SQL语句:select xid, count(xid) as count from user where xid !=0 and c_province_id !=0 group by xid having count(xid) >1 order by xid DESC

用having统计一下重复数目

作者:PHP学习网,本文 Yii2去除重复数据 版权归作者,免费文章欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
编辑精选
Yii中setAttributes用法注意 1012 浏览 2015-05-04
Linux crontab定时执行任务 958 浏览 2016-08-18
Yii2批量插入数据 2157 浏览 2017-04-10

发表评论