thinkphp 3.2 多表查询 group
分析一
$res = M('member')
->table('__MEMBER__ as a')
->join('__ORDER__ as b')
->field('a.id,b.order_sn,count(b.id) as total')
->where('b.receive_member_id = a.id')
->group('a.id')
->order('total desc')
->limit($page->firstRow, $page->listRows)
->select();
1. $res = M('member') ,$res = M('member a') ,$res = M('member as a') 意思相同
2.$res = M('member')->table('__MEMBER a') , $res = M('member')->table('__MEMBER as a') 相同
分析二
$res = M('member_attest')
->table('__MEMBER_ATTEST__ a')
->join('__MEMBER__ b')
->join('__ORDER__ c')
->field('a.id,a.member_id,a.real_name,a.rank,b.mobile,count(c.id) as total')
->where('c.receive_member_id = b.id and b.id = a.member_id')->group('a.id')
->order('total desc')
->limit($page->firstRow, $page->listRows)
->select();
和
$res = M('member_attest')
->table('__MEMBER_ATTEST__ a')
->join('__MEMBER__ b ON b.id = a.member_id')
->join('__ORDER__ c')
->field('a.id,a.member_id,a.real_name,a.rank,b.mobile,count(c.id) as total')
->where('c.receive_member_id = b.id')->group('a.id')
->order('total desc')
->limit($page->firstRow, $page->listRows)
->select();
效果一样,join里面也可以不用带 on a.xx=b.xxx ,查询条件可以全部放到where里面
分析三
$res = M('member_attest')
->table('__MEMBER_ATTEST__ a,__MEMBER__ b')
->where('a.member_id = b.id')
->select();
$res = M('member_attest a')
->join('__MEMBER__ b')
->where('a.member_id = b.id')
->select();
$res = M('member_attest a')
->join('__MEMBER__ b ON a.member_id = b.id')
->select();
这三个都可以正常使用
thinkphp 3.2 多表查询 group的更多相关文章
- mysql 数据操作 单表查询 group by 分组 目录
mysql 数据操作 单表查询 group by 介绍 mysql 数据操作 单表查询 group by 聚合函数 mysql 数据操作 单表查询 group by 聚合函数 没有group by情况 ...
- mysql 数据操作 单表查询 group by 介绍
group by 是在where 之后运行 在写单表查询语法的时候 应该把group by 写在 where 之后 执行顺序 1.先找到表 from 库.表名 2.按照where 约束条件 过滤你想要 ...
- mysql 数据操作 单表查询 group by 注意
GROUP BY 单独使用GROUP BY关键字分组 SELECT post FROM employee GROUP BY post; 注意:我们按照post字段分组,那么select查询的字段只能是 ...
- mysql 数据操作 单表查询 group by 练习
小练习: 1. 查询岗位名以及岗位包含的所有员工名字 mysql> select post,group_concat(name) from employee group by post ; +- ...
- mysql 数据操作 单表查询 group by 聚合函数
强调: 如果我们用unique的字段作为分组的依据,则每一条记录自成一组,这种分组没有意义 多条记录之间的某个字段值相同,该字段通常用来作为分组的依据 如果按照每个字段都是唯一的进行分组,意味着按照这 ...
- mysql 数据操作 单表查询 group by group_concat() 函数
# group_concat() 和concat() 一样拼接字符串 用在分组里 需求:查看每个职位都有哪些员工名字 把所有员工成员的名字都列出来 把每个职位里的员工姓名列出来 mysql> s ...
- mysql 数据操作 单表查询 group by 聚合函数 没有group by情况下
聚合函数只能用在组里使用 #没有group by 则默认算作一组 取出所有员工的最高工资 mysql> select max(salary) from employee; +---------- ...
- thinkphp中如何是实现多表查询
多表查询经常使用到,但如何在thinkphp中实现多表查询呢,其实有三种方法. 1 2 3 4 5 6 7 8 9 10 11 12 // 1.原生查询示例: $Model = new Model() ...
- mysql 数据操作 单表查询 目录
mysql 数据操作 单表查询 mysql 数据操作 单表查询 简单查询 避免重复DISTINCT mysql 数据操作 单表查询 通过四则运算查询 mysql 数据操作 单表查询 concat()函 ...
随机推荐
- JAVA-JSP动作元素之plugin、params、fallback
相关资料:<21天学通Java Web开发> 结果总结:1.<jsp:plugin>.<jsp:params>.<jsp:fallback>三个动作元素 ...
- Maven 统一指定jar包版本的方法
在看别人的源码的过程中,会遇到这种情况,就是很多jar包没有指定版本,却能够下载下来. 在后来的研究中发现,有这样一个配置. <parent> <groupId>org.spr ...
- jquery复选框 选中事件 及其判断是否被选中_常用笔记
checkbox的change事件可监听是否选中状态,也可添加onclick事件. var dom=$('.checkbox'); 1. 判断checkbox是否被选中 var dom=$('.che ...
- linux中注册系统服务—service命令的原理通俗
能够使用service命令进行操作的,就是已经注册成为linux的系统服务了.window中也可以注册成为系统服务的办法. service命令用的次数真不少,就是比较多的关联点,用了很多次了,还是有些 ...
- InstallShield打包,以及集成TFS、JenKins
一. InstallShield打包脚本教程,这里面写的很详细了 [海洋女神原创]一个完整的Installshield安装程序实例—艾泽拉斯之海洋女神出品(一)---基本设置一 需要补充的是Insta ...
- <孤独者生存(小小辛巴投资手记)>读书笔记
书在这里 让投机客梦醒的办法就是让资产损失至少一半 天不会塌下来,世界末日也不会这么快就降临,经济也许会萧条但不会崩溃,人们还得穿衣吃饭.休息劳作 每个笨蛋都会从自己的错误中吸取教训,聪明的人则从别人 ...
- Java编程的逻辑 (70) - 原子变量和CAS
本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http: ...
- C#内置泛型委托:Action委托
1.什么是Action泛型委托 Action<T>是.NET Framework内置的泛型委托,可以使用Action<T>委托以参数形式传递方法,而不用显示声明自定义的委托.封 ...
- jQuery源码学习扒一扒jQuery对象初使化
神奇的jQuery可以这样玩jQuery("#id").css()或 jQuery("#id").html() 这么玩jQuery("#id" ...
- 启动LINUX系统后,进入图形化界面的命令
1.进入xWindow的命令 $startx回车 或者修改/etc/inittab文件 cd /etc vi inittab 寻找: id:3:initdefault: 改为: id:5:initde ...