sql 合并查询结果
在使用js报表工具的时候,常常需要提供json数据进行显示,
在sql查询的时候就需要构造合适的查询结果出来;
就用到了合并两个没有关联关系的表数据,
SELECT
SUM(a1.amount) AS amount,
a1.date
FROM
((SELECT
SUM(amount) AS amount,
DATE_FORMAT(time,'%Y-%m-%d') AS date
FROM a
GROUP BY date)
UNION ALL
(SELECT -SUM(b.VALUE) AS s2,
DATE_FORMAT(b.time,'%Y-%m-%d') AS d2
FROM
b
GROUP BY d2)) AS a1
GROUP BY a1.date
//a表收款,b表付款,计算每天的收益(收款-付款)
//根据日期(天)分组,对两个表中的金额进行计算
//注意时间字段名称,a表相同位置的字段会覆盖b表字段名称,所以使用union要求两个表有相同的字段
//最后根据合并后时间进行分组,计算收益(计算差)
使用union 或union all
如select * from a union all select * from b 竖排合并两个表的数据
显示格式如:
a date
-204 2015-07-06
220 2015-07-15
-60 2015-07-16
220 2015-07-17
//另外一种情况,根据不同条件得到的值赋予不一样的别名(在不同的列显示)
SELECT
a.date,
sum(a.c1) AS s1,
SUM(a.c2) AS s2
FROM(
SELECT
DATE_FORMAT(b.time, '%Y-%m-%d') AS date,
IFNULL((
CASE b.sta
WHEN 0 THEN COUNT(*) END),0
) AS c1,
IFNULL((
CASE b.sta
WHEN 1 THEN COUNT(*) END),0
) AS c2
FROM b
GROUP BY b.sta,date
) AS a
GROUP BY a.date
//根据类型sta=0/=1,时间分组,统计个数
得到的数据格式:
date s1 s2
2015-07-06 4 1
2015-07-08 0 1
2015-07-15 0 1
2015-07-16 1 3
sql 合并查询结果的更多相关文章
- for xml path以及sql合并查询
sql中for xml path的用法. http://www.cnblogs.com/yanghaibo/archive/2010/06/04/1751405.html
- mysql两条sql合并查询总数
select IFNULL(c.nodeCount,0) + IFNULL(c.phyCount,0) as totalCount from ( select count(*) nodeCount, ...
- oracle 基础SQL语句 多表查询 子查询 分页查询 合并查询 分组查询 group by having order by
select语句学习 . 创建表 create table user(user varchar2(20), id int); . 查看执行某条命令花费的时间 set timing on: . 查看表的 ...
- SQL多表合并查询结果
两表合并查询,并同时展示及分页SELECT a.* FROM ( ( SELECT punycode, `domain`, 'Success' AS state, add_time, AS refun ...
- SQL SERVER连接、合并查询
----创建测试表MyStudentInfoCREATE table MyStudentInfo( Id int not null primary key, Name varchar(16), ...
- sql 内连接 子查询 合并查询
-- 内连接:-- 显示员工姓名.工资和公司所在地 select e.ename, e.sal, d.dname from emp e,dept d; -- 笛卡尔积 select e.ename, ...
- 学习SQL关联查询
通过一个小问题来学习SQL关联查询 原话题: 是关于一个left join的,没有技术难度,但不想清楚不一定能回答出正确答案来: TabA表有三个字段Id,Col1,Col2 且里面有一条数据1,1, ...
- oracle的多表合并查询-工作心得
本随笔文章,由个人博客(鸟不拉屎)转移至博客园 发布时间: 2018 年 11 月 29 日 原地址:https://niaobulashi.com/archives/oracle-select-al ...
- SQL中查询语句的使用
常用SQL查询语句 - myLittleGarden - 博客园 http://www.cnblogs.com/sunada2005/p/3411873.html 一.简单查询语句 1. 查看表结构 ...
随机推荐
- 力扣 ——Linked List Cycle II(环形链表 II) python实现
题目描述: 中文: 给定一个链表,返回链表开始入环的第一个节点. 如果链表无环,则返回 null. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始). ...
- 【串线篇】REST风格的请求格式
1.什么是rest 答出这两点就够了: 1.1 统一接口 rest其实是基于HTTP的,四种方式. RESTful架构风格规定,数据的元操作,即CRUD(create, read, update和de ...
- PHP浮点精度问题
使用php+ - * /计算浮点数的时候,可能会遇到一些计算结果错误的问题,如下: <?php echo intval(0.58 * 100); //输出57 解决办法 <?php ech ...
- php 字符转成数字
1.第一种转换方式:在要转换的变量之前加上用括号括起来的目标类型,如 (int):(bool):(float):(string):(array):(object) 2.第二种转换方式:使用3个具体类型 ...
- read(),readline() 和 readlines() 比较
read(),readline() 和 readlines() 比较 共同点:均可接受一个变量用以限制每次读取的数据量,但通常不使用 区别: read() [即 fileObject().read( ...
- c# 定义operator运算符
public void TestFunc() { Complex complex1 = new Complex(); Complex complex2 = new Complex(); var s = ...
- 回调函数 和 promise对象,及封装API接口
1.回调函数:https://blog.csdn.net/baidu_32262373/article/details/54969696 注意:回调函数不一定需要用到 return.如果浏览器支持Pr ...
- 探索Redis设计与实现2:Redis内部数据结构详解——dict
本文转自互联网 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial ...
- tomcat部署项目遇到的问题
场景:在一台服务器上部署多个Tomcat,每个Tomcat下运行各自的项目 * )启动Tomcat startup.cmd报错: java.lang.Exception: Socket bind fa ...
- 用Node编写RESTful API接口
前言 本文将通过一个todo list前后端分离的小项目来讲解如何用Node创建符合RESTful风格的API接口. 创建HTTP服务器 我们先来了解下如何用Node创建HTTP服务器(熟悉的读者可以 ...