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中使用memcache 2448 浏览 2016-07-22
Yii2的MVC新特性 1718 浏览 2016-04-08
yii执行原理 2560 浏览 2015-06-30
YII中assets的使用示例 2366 浏览 2016-05-23

发表评论