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()函 ...
随机推荐
- 4. EM算法-高斯混合模型GMM详细代码实现
1. EM算法-数学基础 2. EM算法-原理详解 3. EM算法-高斯混合模型GMM 4. EM算法-高斯混合模型GMM详细代码实现 5. EM算法-高斯混合模型GMM+Lasso 1. 前言 EM ...
- bootstarp-table 设置隐藏列
在做隐藏列的时候会发现一个问题. var settings = { url: ctx + "rollapply/list", pageSize: 10, queryParams: ...
- Eval与DataBinder.Eval的区别
DataBinder.Eval的基本格式 DataBinder.Eval(Container.DataItem,"XXX","{0}") <%# Data ...
- mysqldump具体应用实例
1.导出整个数据库 mysqldump -h主机 -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -h127.0.0.1 -u wcnc -p smgp_apps ...
- linux查看进程与线程数
1. 查看进程:ps -ef 或 ps -aux 得到进程的pid:如: ps -ef | grep process_name | grep -v "grep" | awk '{p ...
- spring-retry的简单使用
添加Maven依赖: <dependency> <groupId>org.springframework.retry</groupId> <artifactI ...
- STM32 双ADC同步规则采样
最近需要用到两个ADC对电压电流进行同步采样,看了一下STM32的ADC介绍,发现STM32最多有3个独立ADC,有在双AD模式下可以进行同步测量,正好满足我的要求.参考官方给的例子在结合自己的需 ...
- Sahi (3) —— 压力测试Load Test以CAS SSO登陆场景为例(103 Tutorial)
Sahi (3) -- 压力测试Load Test以CAS SSO登陆场景为例(103 Tutorial) jvm版本: 1.8.0_65 sahi版本: Sahi Pro 6.1.0 参考来源: S ...
- 读取 classes下的配置文件
调用: Configure.getValue("discount.strategy.class"); 配置类: package com.util; import com.sun.j ...
- android 代码混淆模板
#指定代码的压缩级别 -optimizationpasses #包明不混合大小写 -dontusemixedcaseclassnames #不去忽略非公共的库类 -dontskipnonpublicl ...