mysql多个on_Mysql join on 多条件匹配
今天碰到一个问题,分析一个广告主采用关键词定向于未使用关键词两种情况的收入,表结构如下:
日期,广告主ID,关键词定向,收入
20170526 A 人群定向 20元
20170526 a 学历,地域 10元
select 日期,sum(收入) from table where 关键词定向 like ‘%人群定向%’ group by 日期
select 日期 ,sum(收入) from table where 广告主ID in (select 广告主ID from table where 关键词定向 like ‘%人群定向%’ ) and 关键词定向 not like "关键词定向";
第一部分结果正确,第二部分不正确
第二部分收入会多算,因为 要算筛选当日非人群定向的收入,如果是用in会增加非当日的广告主ID的数目,所以,收入会比正确值大。
正确的计算方式为:
select 日期 ,sum(收入) from table where 广告主ID in (select 广告主ID from table where 关键词定向 like ‘%人群定向%’ group by 日期) as t1 and 日期 = t1.日期 and 关键词定向 not like "关键词定向";
或者
select 日期 ,sum(收入) from table where 广告主ID left join (select 日期,广告主ID from table where 关键词定向 like ‘%人群定向%’ group by 日期)as t1 on 日期 = t1.日期 and 广告主ID in t1.广告主ID and 关键词定向 not like "关键词定向";
mysql多个on_Mysql join on 多条件匹配相关推荐
- mysql 或hive left join不加关联条件
mysql left join不加关联条件 create table if not exists u1 (id int,name varchar(20) ) ENGINE = MyISAMDEFAUL ...
- mysql inner join where_详解mysql 使用left join添加where条件的问题分析
当前需求: 有group和factor两张表,一个group对应多个factor,现在想查询有效的group和对应的有效的factor,两个表都有isDel逻辑删除标志. 最开始的错误写法一: SEL ...
- 详解mysql 使用left join添加where条件的问题分析
详解mysql 使用left join添加where条件的问题分析 详解mysql 使用left join添加where条件的问题分析
- Mysql 优化器内部JOIN算法hash join On-Disk Hash Join Grace Hash Join Hybrid hash join过程详解
Mysql 各种hash join算法讲解 hash join的概述 提到hash join之前自然得说Nest loop join,以两个表的关联为例,它其实是个双层循环,先遍历外层的表(n条),再 ...
- inner join on 加条件和where加条件_图解 SQL 中各种连接 JOIN
先用文字来捋一下思路,数据库操作中无非就是「 增删查改 」,其中「 查」用得最多且最复杂,变化多端.查询的时候,我们可以只是单表查询,也可以是多表连接查询,单表查询中的学问也很大,但限于篇幅,本次主要 ...
- mysql left outer join_关于mysql中的left join和left outer join的区别
关于mysql中的left join和left outer join的区别 LEFT JOIN是LEFT OUTER JOIN的简写版; 内连接(INNER JOIN) :只连接匹配的行; 左外连接( ...
- MySQL查询优化之七-左Join 和右Join 优化(Left Join and Right Join Optimization)
MySQL查询优化之七-左Join 和右Join 优化(Left Join and Right Join Optimization) 如需转载请标明出处:http://blog.csdn.net/it ...
- MySQL 8.0 hash join有重大缺陷?
我并不这么看. 友情提醒:本文建议在PC端阅读. 徐春阳老师发文爆MySQL 8.0 hash join有重大缺陷. 文章核心观点如下:多表(比如3个个表)join时,只会简单的把表数据量小的放在前面 ...
- MySQL的7种join,交集,并集,差集。
MySQL的7种join,交集,并集,差集. 1.总括 mysql种共有7种join(但实际上只有4种主要的:左外连接,右外连接,内连接,全外连接)以下7种不过在此基础上有一些变动: 2.具体实现 ( ...
最新文章
- XP系统,在文件或文件夹属性里找不到安全选项卡
- sql升级重启计算机失败win10,win10一直提示重启安装更新失败如何处理
- Gitlab-ci 替代 webhook 触发Jenkins job
- mockito模拟依赖注入_使用Mockito模拟自动装配的字段
- python爬虫入门必备正则_python 爬虫入门之正则表达式 一
- autojs命令代码大全_各个主流品牌手机的命令代码大全,安卓工程模式的指令大全!...
- 安装docker desktop for windows启动时报错
- 扫地机器人单扫和双扫_评测 | 千元以下的扫拖一体机器人,到底值不值得买?...
- Spring Boot : Whitelabel Error Page解决方案
- 河南大学计算机组成原理,河南大学计算机组成原理考点.pdf
- c语言课程设计找出肇事车牌,C语言课程设计参考题目.doc
- android mapabc 地图 无法 拖动、缩放问题
- 基于VUE使用Hbuilder工具开发的思维导图工具
- 管理的常识(2):什么是领导
- STM32F103高级定时器死区时间的计算
- 天宝S6测量机器人/天宝S6全站仪参数/教程/Trimble 天宝全站仪
- C++ + ubuntu 调用boost 的一个问题
- 带附件的邮件的发送方法
- Android GPU呈现模式分析功能,手机流畅度。仅供参考
- 计算机安全的基本概念,计算机安全包括哪几个方面