SELECT
a.loginuser,
a.schoolid,
count(b.id)
FROM
vhs_school AS a
LEFT JOIN vhs_attence AS b ON a.schoolid = b.schoolid
WHERE
b.recordtime > 1546791470
AND b.recordtime < 1546874270
GROUP BY
a.schoolid

SELECT
a.loginuser,
a.schoolid,
count(b.id)
FROM
vhs_school AS a
LEFT JOIN vhs_attence AS b ON a.schoolid = b.schoolid
AND b.recordtime > 1546791470
AND b.recordtime < 1546874270
GROUP BY
a.schoolid

前者就算用了left join 但是结果还是没有显示a表中的所有字段,因为b表的筛选条件放到最外层,这样就相当于将a表关联b表又做了一遍筛选,所有丢失了a表中其他的字段

后者已经筛选b表的数据后,数据量会减少,再去关联a

后者也可以用

SELECT
a.loginuser,
a.schoolid,
count(b.id)
FROM
vhs_school AS a
LEFT JOIN (
SELECT
*
FROM
vhs_attence AS b b.recordtime > 1546791470
AND b.recordtime < 1546874270
) b ON a.schoolid = b.schoolid

LEFT JOIN个别问题的更多相关文章

  1. SQL Server-聚焦IN VS EXISTS VS JOIN性能分析(十九)

    前言 本节我们开始讲讲这一系列性能比较的终极篇IN VS EXISTS VS JOIN的性能分析,前面系列有人一直在说场景不够,这里我们结合查询索引列.非索引列.查询小表.查询大表来综合分析,简短的内 ...

  2. SQL Server-聚焦NOT IN VS NOT EXISTS VS LEFT JOIN...IS NULL性能分析(十八)

    前言 本节我们来综合比较NOT IN VS NOT EXISTS VS LEFT JOIN...IS NULL的性能,简短的内容,深入的理解,Always to review the basics. ...

  3. Nested Loops join时显示no join predicate原因分析以及解决办法

    本文出处:http://www.cnblogs.com/wy123/p/6238844.html 最近遇到一个存储过程在某些特殊的情况下,效率极其低效, 至于底下到什么程度我现在都没有一个确切的数据, ...

  4. c# Enumerable中Aggregate和Join的使用

    参考页面: http://www.yuanjiaocheng.net/ASPNET-CORE/asp.net-core-environment.html http://www.yuanjiaochen ...

  5. 超详细mysql left join,right join,inner join用法分析

    下面是例子分析表A记录如下: aID        aNum 1           a20050111 2           a20050112 3           a20050113 4   ...

  6. join Linq

    List<Publisher> Publishers = new List<Publisher>(); Publisher publish1 = new Publisher() ...

  7. mysql join 和left join 对于索引的问题

    今天遇到一个left join优化的问题,搞了一下午,中间查了不少资料,对MySQL的查询计划还有查询优化有了更进一步的了解,做一个简单的记录: select c.* from hotel_info_ ...

  8. BCL中String.Join的实现

    在开发中,有时候会遇到需要把一个List对象中的某个字段用一个分隔符拼成一个字符串的情况.比如在SQL语句的in条件中,我们通常需要把List<int>这样的对象转换为“1,2,3”这样的 ...

  9. [数据库基础]——图解JOIN

    阅读导航 一.概要 二.JOIN分类 三.JOIN分类详解 一.概要 JOIN对于接触过数据库的人,这个词都不陌生,而且很多人很清楚各种JOIN,还有很多人对这个理解也不是很透彻,这次就说说JOIN操 ...

  10. Spark join 源码跟读记录

    PairRDDFunctions类提供了以下两个join接口,只提供一个参数,不指定分区函数时默认使用HashPartitioner;提供numPartitions参数时,其内部的分区函数是HashP ...

随机推荐

  1. Git与Github。

    Git是一款免费,开源的分布是版本,用于敏捷高效的处理任何或小或大的项目.分布式相对于集中式的最大区别在于开发者可以提到本地,每个开发者通过克隆,在本地磁盘内拷贝一个完整的GIt仓库. Git的功能特 ...

  2. winfrom 实现窗体圆角

    在窗体中加入一下代码 #region 窗体圆角的实现 private void ComFrmBase_Resize(object sender, EventArgs e) { if (this.Win ...

  3. c# winfrom 皮肤切换 控件 IrisSkin2.dll 使用

    在c#应用程序中使用IrisSkin2.dll美化界面 IrisSkin2.dll 下载地址:http://d.download.csdn.net/down/1694982/sgear 一.添加控件I ...

  4. C++显式隐式构造函数

    https://blog.csdn.net/starlee/article/details/1331268#comments

  5. Python初学者第十三天 三级菜单程序小作业

    13day 作业题目: 三级菜单 作业需求: 数据结构: menu = { '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, 'google':{} }, '中关村' ...

  6. 关于动态门户WEB博雅互动的源代码(HTML+CSS+javascript)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. zabbix监控 linux/windows 主机tcp连接状态

    更新内容:1).增加了对windows主机的tcp连接状态的监控2).修改linux主机的监控配置,使linux与windwos主机能够使用相同的模板tcp的连接状态对于监控服务器,尤其是Web服务器 ...

  8. 二进制安装mariaDB

    1.获取二进制安装包 获取二进制格式MariaDB安装包,可去官网下载. 因为是实验环境,所以选择了最新版. mariadb-10.2.12-linux-x86_64.tar.gz 2.解压 解压到 ...

  9. January 13 2017 Week 2 Friday

    Those who turn back never reach the summit. 回头的人永远也到不了顶峰. I always turned back on my life road, so i ...

  10. codeforces 549F Yura and Developers(分治、启发式合并)

    codeforces 549F Yura and Developers 题意 给定一个数组,问有多少区间满足:去掉最大值之后,和是k的倍数. 题解 分治,对于一个区间,找出最大值之后,分成两个区间. ...