mysql 全连接_mysql 实现全连接
现需求:统计出每位用户的现金红包和积分红包的总数
参考网站地址(Oracle的写法应该):
OSCHINA(OSChina.NET)m.oschina.net
由于MySQL没有 FULL JOIN ON 经过 baidu 搜索可以通过左连接+union+右连接实现全连接方案
代码实现如下:
先查出红包数据
SELECT
再查积分数据
SELECT b.user_id,SUM(b.amount) as money_amount,0 as jf_amount
FROM hunuo_app_user_award as b
RIGHT JOIN hunuo_app_user_award as a ON a.id = b.id
WHERE b.award_type = 2
GROUP BY b.user_id
特别注意:查询字段要一一对应(坑爬了好长时间)
合并
SELECT c.user_id,c.money_amount,c.jf_amount FROM (
(SELECT a.user_id,0 as money_amount,SUM(a.amount) as jf_amountFROM hunuo_app_user_award as aLEFT JOIN hunuo_app_user_award as b ON a.id = b.id WHERE a.award_type = 1 GROUP BY a.user_id) UNION (SELECT b.user_id,SUM(b.amount) as money_amount,0 as jf_amountFROM hunuo_app_user_award as bRIGHT JOIN hunuo_app_user_award as a ON a.id = b.idWHERE b.award_type = 2 GROUP BY b.user_id)) as c
)
统计最终结果:
SELECT d.user_id,sum(d.money_amount),sum(d.jf_amount) FROM (SELECT c.user_id,c.money_amount,c.jf_amount FROM ((SELECT a.user_id,0 as money_amount,SUM(a.amount) as jf_amountFROM hunuo_app_user_award as aLEFT JOIN hunuo_app_user_award as b ON a.id = b.id WHERE a.award_type = 1 GROUP BY a.user_id) UNION (SELECT b.user_id,SUM(b.amount) as money_amount,0 as jf_amountFROM hunuo_app_user_award as bRIGHT JOIN hunuo_app_user_award as a ON a.id = b.idWHERE b.award_type = 2 GROUP BY b.user_id)) as c
) as d
GROUP BY d.user_id
备注:新增自定义不是表的字段方法 select *, 0 as field1 from table1
特别注意:合并保留不同字段的时候字段的顺序要保持一致
mysql 全连接_mysql 实现全连接相关推荐
- mysql的内外连接_MYSQL的内外连接
1.内联接(典型的联接运算,使用像 = 或 <> 之类的比较运算符).包括相等联接和自然联接. 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 students和 ...
- mysql 本地连接_mysql开启远程连接及本地连接
问题描述 在本机windows上连接linux服务器上的mysql报错:host'XXX' is not allowed to connect to this mysql server. 这个错误是由 ...
- mysql 什么时候用内连接_mysql显示内连接和隐式内连接的区别,什么时候非要用到显示内连接。...
显式内连接就是使用inner join的办法,写起来复杂些 以windows版本mysql里自带的sakila数据库为例 显式内连接语法 select 字段名 from 表1 join 表2 on 连 ...
- mysql的左右连接_MySQL之左连接与右连接
左连接: select 列1,列2,列N from tableA left join tableB on tableA.列 = tableB.列(正常是一个外键列) [此处表连接成一张大表,完全当成一 ...
- mysql全关联_MySQL实现全关联 full outer join
SQL LEFT JOIN 关键字 LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行. LEFT JOIN 关键 ...
- mysql刷新连接_MYSQL频繁出现连接失败,刷新后正常的解决办法
服务器出现MYSQL频繁掉线,提示连接失败,刷新后又正常的问题.刚开始还以为是mysql连接数的问题,改了无数次,还是一样没解决问题.后来终于找到什么原因了!微软9月9日发布了TCP/IP更新补丁(K ...
- mysql提示太多连接_mysql数据库提示连接太多怎么办
mysql数据库提示连接太多的解决方法:1.登录mysql数据库,查看当前活动的连接线程变量值:2.编辑my.cnf配置文件,添加[[mysqld] port=3306]:3.重启mysql服务器. ...
- php与mysql实例教程_mysql实例与连接
1.一个mysql实例(进程)可以创建多个连接(线程)吗? 2.这里连接的概念有分物理上的连接和逻辑上的连接吗?它们和mysql实例是什么关系,是否一一对应关系? 3.php里的mysql_conne ...
- mysql常用四种连接_MySQL四种连接查询
内连接 交集 inner join 或者 join select * from person join card on person.cardId = card.id; +------+------- ...
- mysql command为sleep时项目可以连接_mysql数据库常连接造成大量sleep状态怎么办
设置max_execution_time 来阻止太长的读SQL.那可能存在的问题是会把所有长SQL都给KILL 掉.有些必须要执行很长时间的也会被误杀. 自己写个脚本检测这类语句,比如order by ...
最新文章
- [转]FPGA的GTP信号PCB布线要点
- CentOS系统如何搭建离线yum源
- inline-block什么意思中文_css中inline-block是什么?inline-block布局的使用
- Android4.0 修改系统屏幕分辨率方法
- 【大学到研究生自学Java的学习路线】这是一份最适合普通大众、非科班的路线,帮你快速找到一份满意的工作
- 直播 | ICLR 2021论文解读:兼听则明,信而有征:可信多模态分类
- 一次简单的服务器 cpu 占用率高的快速排查实战
- Android SDK实例之Snake游戏深入解析(一)
- python爬虫之---------------cookie和session
- 使用EntityFramework Core和Enums作为字符串的ASP.NET Core Razor页面——第二部分
- Flask - 基础
- mysql金额数据类型,热度飙升!
- C6748和音频ADC连接时候的TDM以及I2S格式问题
- (十四)洞悉linux下的Netfilteriptables:开发一个match模块【实战】
- unity 接入移动MM (3.1.10)
- 心知天气api PHP,php调用心知天气API,实现微信自动回复
- 换计算机硬盘分区,笔记本提速,换硬盘,分区,系统迁移,装机!
- PPPOE总结和配置
- yolov5训练自己的数据集,OpenCV DNN推理
- c语言程序由什么开头和结尾,一个完整的C程序由什么组成?
热门文章
- 关于开源软件的十个问题(下篇)
- 【图像去噪】基于matlab GUI中值+小波+维纳+滤波器图像去噪【含Matlab源码 616期】
- 【物理应用】基于matlab车载自组织网络中路边性能及防碰撞算法研究【含Matlab源码 263期】
- java小数正负数据类型_Java - day001 - 8种基本数据类型
- canvas贝塞尔曲线爱心_HTML5 Canvas 绘制贝塞尔曲线 Bezier and quadratic curves
- 人工智能和机器学习的前五门课程
- 深度学习行人检测简介_深度学习简介
- torch.optim.lr_scheduler.MultiStepLR()用法研究 台阶/阶梯学习率
- 谷粒商城doc文档_谷粒学院项目分享全栈开发入门必备(资料齐全)
- db2和oracle数据同步,DB2与Oracle数据库之间的远程复制(转)