MySQL/ThinkPHP5去重,查询重复数据并列出,删除重复数据只保留一条

  • 发表于
  • PHP , 后端
  • 118 阅读

MySQL查询重复数据并列出

大于1条的都列出。

MySQL删除重复记录只保留一条

FieldName为字段,TableName是表名

ThinkPHP5去重distinct和group

distinct去重

distinct方法用于返回唯一不同的值,例如数据库表中有以下数据

MySQL/ThinkPHP5去重,查询重复数据并列出,删除重复数据只保留一条

以下代码会返回user_login字段不同的数据

生成的SQL语句是: SELECT DISTINCT user_login FROM think_user

返回以下数组

distinct方法的参数是一个布尔值。

group去重

GROUP方法通常用于结合合计函数,根据一个或多个列对结果集进行分组 。

group方法只有一个参数,并且只能使用字符串。

例如,我们都查询结果按照用户id进行分组统计:

生成的SQL语句是:

也支持对多个字段进行分组,例如:

生成的SQL语句是:

总结

  1. SQL操作最直接,不讲。
  2. 利用distinct去重、简单易用,但只能对于单一字段去重,并且最终的结果也仅为去重的字段。
  3. 利用group去重,最终的显示结果为所有字段,且对单一字段进行了去重操作,但最终显示结果除去去重字段外,按照第一个字段进行排序。
标签: , , ,