zoukankan      html  css  js  c++  java
  • ThinkPHP使用distinct和group by去重复的数据

    在一对多关联查询中,遇到重复数据的问题,这不是我们想要的结果,下面就是两种常用的去重方法。 

    1、distinct方法去重

    $data=$test_data->Distinct(true)->field('descriprion')->order('description desc')->select();

    2、group方法去重

    $items = Suspect::alias('s')
        ->leftJoin("activity a","a.suspect_id = s.id")
        ->field("s.*,a.id as activity_id")
        ->group('id')
        ->select();

    Mysql语句:

    SELECT `s`.*,a.id as activity_id FROM `suspect` `s` LEFT JOIN `activity` `a` ON `a`.`suspect_id`=`s`.`id` GROUP BY `id`

     

    对于两种去重方式: 

    1、distinct去重、简单易用,但只能对于单一字段去重,并且最终的结果也仅为去重的字段,实际应用价值不是特别大。 

    2、group去重,最终的显示结果为所有字段,且对单一字段进行了去重操作,效果不错,但最终显示结果除去去重字段外,按照第一个字段进行排序,可能还需要处理。

    原文链接:https://blog.csdn.net/qq422431474/article/details/79582239

  • 相关阅读:
    iis环境异常处理
    cmd常用命令:关机、注销、进入d盘等
    position
    Register Form
    第一周
    Django简介
    前端jQuery基本语法
    前端基础BOM和DOM
    HTML常用标签
    Linux相关 MySQL相关
  • 原文地址:https://www.cnblogs.com/bushui/p/13895938.html
Copyright © 2011-2022 走看看