业务需要做一个待办事件功能,其中主办人是单个,协作人是多个;

然后做了两个表,附表用来存协作人,与主表之间是一对多的关系,

列表显示需要全部数据采用了左连接查询。Left Join 求两个表的交集外加左表剩下的数据。

结果呢,如果协作人是1个的时候没问题,当为多个时,就会出现多条重复数据。

一开始直接采用 group by,这当然可以去重,

不过laravel中封装的count方法 直接取了结果中的第一个数据,

也就是5,实际结果我要的是6,如图:

这样列表显示是没问题,但是计数是不对的。

Laravel中还封装了一个过滤方法

   /*** 强制查询仅返回不同的结果。** @return $this*/public function distinct(){$columns = func_get_args();if (count($columns) > 0) {$this->distinct = is_array($columns[0]) || is_bool($columns[0]) ? $columns[0] : $columns;} else {$this->distinct = true;}return $this;}

使用方法:

$total = $conn->distinct('id')->count();

实际上它使用的是Mysql 的 distinct关键字来过滤重复

这样就过滤掉重复的数据了,计数也就准确了。

Laravel 联合查询 count计数去重相关推荐

  1. MySQL中的联合查询

    联合查询 联合查询:union,将多次查询(多条select语句)的结果,在字段数相同的情况下,在记录的层次上进行拼接. 联合查询由多条select语句构成,每条select语句获取的字段数相同,但与 ...

  2. Database之SQLSever:SQL命令实现四则运算、desc降序、like模糊查询、distinct去重、MAX/MIN/SUM/AVG/COUNT/GROUP/having等案例之详细攻略

    Database之SQLSever:SQL命令实现四则运算.desc降序.like模糊查询.distinct去重.MAX/MIN/SUM/AVG/COUNT/GROUP/having等案例之详细攻略 ...

  3. mysql关联查询去重_MySQL外键和高级查询(连接查询、联合查询、子查询、去重查询)...

    MySQL的外键 什么是外键,很简单保持数据一致性的一个约束键.如果你有两张表,第一张是学生表,第二张表是一个成绩表,我们来看看保持数据一致性,其实在Django等框架的模型中中也能做关联获取对象. ...

  4. Oracle去重后再进行count()计数

    一般地:有意义的计数首先都需要去除重复,然后再进行count()计数! 这个时候就去重的逻辑就显得尤为重要! 一.首先说说我个人对以下两个函数的理解 sum()是基于分组,也就是说有sum()的SQL ...

  5. mysql DML操作、关联查询、联合查询、聚合函数使用

    目录 DML操作 关联查询.联合查询 按条件查询.聚合函数使用 DML操作 CREATE DATABASE db2USE db2; CREATE TABLE stu(sid INT PRIMARY K ...

  6. 【SQL】SQL语句多表联合查询

    SQL语句多表联合查询 CREATE TABLE orders( id int not null primary key identity(1,1), customerName varchar(100 ...

  7. 【数据库】聚合查询和联合查询

    查询 1.聚合查询 1.1 聚合函数 1.2 GROUP BY子句 1.3 HAVING 2.联合查询 2.1 内连接 2.2 外连接 2.3 自连接 2.4 子查询 2.4.1 单行子查询 2.4. ...

  8. 6.4高级查询:分组查询 链接查询 子查询 联合查询

    -:分组查询    1 group by           select *from car group by powers;          按powers字段分组显示,去除重复项.       ...

  9. mysql数据库入门教程(5):多表操作(连接查询,子查询,分页查询,联合查询)

    前文介绍了单表查询:mysql数据库入门教程(4):查询讲解大全 今天介绍下多表查询 一.连接查询 含义:又称多表查询,当查询的字段来自于多个表时,就会用到连接查询 先送上下面所讲用到的sql脚本 h ...

最新文章

  1. tmux不自动加载配置文件.tmux.conf
  2. Bad connect ack with firstBadLink 192.168.*.*:50010
  3. Facebook首席工程负责人胡鲁辉:数字化2.0的理念、架构与业务模型丨鲸犀峰会
  4. 如何查看Eclipse版本
  5. 数据持久化 plist,CoreData,Sqlite
  6. 7-1 装载问题 (10 分)(思路+详解)
  7. js输出100以内的质数_Python 计数质数
  8. 杂项:JFB-权限设置
  9. python main传参args,详解用Python处理Args的3种方法
  10. django-rest-framework-jwt的使用
  11. 【人脸识别】基于matlab二值膨胀差分和椒盐滤波教室内人数统计【含Matlab源码 251期】
  12. 如何加载和保存KML、GPX文件
  13. Ae导出 计算机内存,ae导出视频太大怎么办-缩小Ae导出视频大小的方法 - 河东软件园...
  14. 企业短信平台发展趋势和展望——SUBMAIL赛邮
  15. Excel 解决高次方程求解的方法
  16. iOS 使用 Admob 获取广告收入
  17. 新iPad未到 老iPad价格反弹
  18. scala-简单的模式匹配
  19. Android 获取外接储存的设备路径(如挂载的U盘)
  20. 计网复习—三次握手和四次挥手

热门文章

  1. ZBlog源码资源站整站打包-带天兴娱乐资源主题+墨初用户中心插件
  2. 11-04Physics-Aware Learning-based Longitudinal Vehicle Trajectory Prediction in Congested Traffic
  3. au如何关闭预览编辑器_Garageband怎么打开关闭音频编辑器 操作方法介绍
  4. 计算机配置ppt制作,笔记本电脑怎么制作PPT
  5. 学习笔记---Winform的东东忘了好些。。。
  6. 长城wifi服务器没响应,wifi设置网站进不去怎么办,教你一招轻松解决
  7. IDEA中导入项目运行失败提示Illeagle Arguement,访问404解决方法(Idea的Modules设置)
  8. 如何使用补单平台搭建提高权重
  9. Python数据可视化学习笔记:第一章 关联图 第四节 使用Python绘制一般气泡图
  10. Gromacs分子动力学模拟流程概述