Laravel 联合查询 count计数去重
业务需要做一个待办事件功能,其中主办人是单个,协作人是多个;
然后做了两个表,附表用来存协作人,与主表之间是一对多的关系,
列表显示需要全部数据采用了左连接查询。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计数去重相关推荐
- MySQL中的联合查询
联合查询 联合查询:union,将多次查询(多条select语句)的结果,在字段数相同的情况下,在记录的层次上进行拼接. 联合查询由多条select语句构成,每条select语句获取的字段数相同,但与 ...
- 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等案例之详细攻略 ...
- mysql关联查询去重_MySQL外键和高级查询(连接查询、联合查询、子查询、去重查询)...
MySQL的外键 什么是外键,很简单保持数据一致性的一个约束键.如果你有两张表,第一张是学生表,第二张表是一个成绩表,我们来看看保持数据一致性,其实在Django等框架的模型中中也能做关联获取对象. ...
- Oracle去重后再进行count()计数
一般地:有意义的计数首先都需要去除重复,然后再进行count()计数! 这个时候就去重的逻辑就显得尤为重要! 一.首先说说我个人对以下两个函数的理解 sum()是基于分组,也就是说有sum()的SQL ...
- mysql DML操作、关联查询、联合查询、聚合函数使用
目录 DML操作 关联查询.联合查询 按条件查询.聚合函数使用 DML操作 CREATE DATABASE db2USE db2; CREATE TABLE stu(sid INT PRIMARY K ...
- 【SQL】SQL语句多表联合查询
SQL语句多表联合查询 CREATE TABLE orders( id int not null primary key identity(1,1), customerName varchar(100 ...
- 【数据库】聚合查询和联合查询
查询 1.聚合查询 1.1 聚合函数 1.2 GROUP BY子句 1.3 HAVING 2.联合查询 2.1 内连接 2.2 外连接 2.3 自连接 2.4 子查询 2.4.1 单行子查询 2.4. ...
- 6.4高级查询:分组查询 链接查询 子查询 联合查询
-:分组查询 1 group by select *from car group by powers; 按powers字段分组显示,去除重复项. ...
- mysql数据库入门教程(5):多表操作(连接查询,子查询,分页查询,联合查询)
前文介绍了单表查询:mysql数据库入门教程(4):查询讲解大全 今天介绍下多表查询 一.连接查询 含义:又称多表查询,当查询的字段来自于多个表时,就会用到连接查询 先送上下面所讲用到的sql脚本 h ...
最新文章
- tmux不自动加载配置文件.tmux.conf
- Bad connect ack with firstBadLink 192.168.*.*:50010
- Facebook首席工程负责人胡鲁辉:数字化2.0的理念、架构与业务模型丨鲸犀峰会
- 如何查看Eclipse版本
- 数据持久化 plist,CoreData,Sqlite
- 7-1 装载问题 (10 分)(思路+详解)
- js输出100以内的质数_Python 计数质数
- 杂项:JFB-权限设置
- python main传参args,详解用Python处理Args的3种方法
- django-rest-framework-jwt的使用
- 【人脸识别】基于matlab二值膨胀差分和椒盐滤波教室内人数统计【含Matlab源码 251期】
- 如何加载和保存KML、GPX文件
- Ae导出 计算机内存,ae导出视频太大怎么办-缩小Ae导出视频大小的方法 - 河东软件园...
- 企业短信平台发展趋势和展望——SUBMAIL赛邮
- Excel 解决高次方程求解的方法
- iOS 使用 Admob 获取广告收入
- 新iPad未到 老iPad价格反弹
- scala-简单的模式匹配
- Android 获取外接储存的设备路径(如挂载的U盘)
- 计网复习—三次握手和四次挥手
热门文章
- ZBlog源码资源站整站打包-带天兴娱乐资源主题+墨初用户中心插件
- 11-04Physics-Aware Learning-based Longitudinal Vehicle Trajectory Prediction in Congested Traffic
- au如何关闭预览编辑器_Garageband怎么打开关闭音频编辑器 操作方法介绍
- 计算机配置ppt制作,笔记本电脑怎么制作PPT
- 学习笔记---Winform的东东忘了好些。。。
- 长城wifi服务器没响应,wifi设置网站进不去怎么办,教你一招轻松解决
- IDEA中导入项目运行失败提示Illeagle Arguement,访问404解决方法(Idea的Modules设置)
- 如何使用补单平台搭建提高权重
- Python数据可视化学习笔记:第一章 关联图 第四节 使用Python绘制一般气泡图
- Gromacs分子动力学模拟流程概述