mysql储存过程把集合并_MySQL 多日志表结果集合拼接存储过程
通常MySQL单天的日志 只记录当天的日志信息,如果需要查看一月内的日志信息需要对每天的日志表结果集合进行拼接,通常用到 union
通常MySQL单天的日志 只记录当天的日志信息,如果需要查看一月内的日志信息需要对每天的日志表结果集合进行拼接,通常用到 union 。
储存过程:
drop PROCEDURE if EXISTS unionSp;
DELIMITER //
create procedure unionSp(sTime varchar(32), eTime varchar(32),tchema varchar(32))
begin
declare sqlVar varchar(1024000);
declare rest int;
declare tableName varchar(1024);
set rest = 100;
set sqlVar='';
while rest > 0 do
set sTime = (select DATE_FORMAT((select ADDDATE(sTime,1)),'%Y%m%d'));
set tableName=CONCAT('tbl_req_',sTime);
select count(1) from information_schema.tables where table_name = tableName and TABLE_SCHEMA=tchema into @cnt;
if @cnt != 0 then
if rest=1 then
set sqlVar=CONCAT(sqlVar,' SELECT DISTINCT channel_id,app_id from tbl_req_',sTime);
ELSE
set sqlVar=CONCAT(sqlVar,' SELECT DISTINCT channel_id,app_id from tbl_req_',sTime,' UNION');
END IF;
END if;
set rest = DATEDIFF(eTime,sTime);
END while;
set @v_s=sqlVar;
prepare stmt from @v_s;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
end;
//
DELIMITER;
call unionSp('20140730','20140930','biz_date')
union:联合的意思,即把两次或多次查询结果合并起来。
要求:两次查询的列数必须一致
推荐:列的类型可以不一样,但推荐查询的每一列,想对应的类型以一样
可以来自多张表的数据:多次sql语句取出的列名可以不一致,此时以第一个sql语句的列名为准。
如果不同的语句中取出的行,有完全相同(这里表示的是每个列的值都相同),那么union会将相同的行合并,最终只保留一行。也可以这样理解,,union会去掉重复的行。
如果不想去掉重复的行,可以使用union all
--------------------------------------分割线 --------------------------------------
Ubuntu 14.04下安装MySQL
《MySQL权威指南(原书第2版)》清晰中文扫描版 PDF
Ubuntu 14.04 LTS 安装 LNMP Nginx\PHP5 (PHP-FPM)\MySQL
Ubuntu 14.04下搭建MySQL主从服务器
Ubuntu 12.04 LTS 构建高可用分布式 MySQL 集群
Ubuntu 12.04下源代码安装MySQL5.6以及Python-MySQLdb
MySQL-5.5.38通用二进制安装
--------------------------------------分割线 --------------------------------------
本文永久更新链接地址:
本文原创发布php中文网,转载请注明出处,感谢您的尊重!
mysql储存过程把集合并_MySQL 多日志表结果集合拼接存储过程相关推荐
- MySQL 储存过程-原理、语法、函数详细说明
2019独角兽企业重金招聘Python工程师标准>>> Mysql储存过程是一组为了完成特定功能的SQL语句集,经过编译之后存储在数据库中,当需要使用该组SQL语句时用户只需要通过指 ...
- MYSQL储存过程和储存函数和变量
储存过程和储存函数和变量 变量的应用: 变量分类为: 系统变量和自定义变量 系统变量和全局变量还可以细分: 系统变量分类: 全局变量和会话变量 自定义变量分类: 用户变量和局部变量 下面是变量的一些具 ...
- mysql 储存过程放到哪_MySQL储存过程
储存过程 本文章原创,转载需注明出处. 前提: 在大型数据库中 来源: 为了完成特定功能的SQL语句集 定义: 储存在数据库中, 用户通过指定储存过程的名字并给出参数(带有参数的)来执行它 声明: 储 ...
- MySQL储存过程详解
1 概述 存储过程就像是程序中的子程序,存储在数据库中.存储过程可以有名称.参数列表和 SQL 语句.使用 CALL 语句调用. 2 特点 运行速度快.利用缓存的优势等. 可移植的 好处: 简化应用开 ...
- Mysql储存过程2:变量定义与参数传递
#储存过程 中的变量定义 declare 变量名 类型 可选类型 -- 跟建表差不多create procedure p()begindeclare age int default(18);decla ...
- MySQL无中心化集群_MySQL Plus 如何做到无中心化、数据强一致性、秒级切换?
数据库服务于企业的核心交易业务和实时交互应用,承载着企业的核心数据,因此企业对于数据库的数据一致性和高可用性有强烈的需求. 本次内容为青云QingCloud 数据库工程师蒙哲在 3306Pai 201 ...
- mysql 连接查询两个条件_MySQL之多表查询一 介绍 二 多表连接查询 三 符合条件连接查询 四 子查询 五 综合练习...
一 介绍 本节主题 多表连接查询 复合条件连接查询 子查询 首先说一下,我们写项目一般都会建一个数据库,那数据库里面是不是存了好多张表啊,不可能把所有的数据都放到一张表里面,肯定要分表来存数据,这样节 ...
- mysql中overwrite,打造集群间HIVE数据库表半自动迁移(overwrite)工具
Author:Christopher_L1n | CSDN Blog | 未经允许,禁止转载 Hive -> Hive 集群间迁移数据库表 阅读提示 为了代码易读性,脚本中加入冗余的参数赋值,可 ...
- mysql 储存过程放到哪_MySQL储存过程详解
我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的 ...
最新文章
- JQuery中each()的使用方法说明
- 我为什么重新开始学习数学?
- 计算机专业的大学生自我介绍,计算机专业大学生自我介绍
- mysql为什么表大了要重建_为什么MySQL分库分表后总存储大小变大了?
- 利用IE8开发人员工具调试JavaScript脚本
- 大数据之-Hadoop3.x_MapReduce_ReduceJoin案例TableBean---大数据之hadoop3.x工作笔记0129
- 3d激光雷达开发(从halcon看点云pcl库)
- 亲密关系沟通-【价值感】-确保价值感的沟通方法
- 初识数据库——Mysql入门
- codeforces 460C - Present 二分加模拟
- 数据源:SHP数据下载平台
- 四、登录注册页功能实现《iVX低代码/无代码个人博客制作》
- 视频教程-Qt语言从入门到精通-C/C++
- OSEK OS(OSEK 操作系统)
- 阿里云邮箱标准版集团版尊享版怎么选
- 惠普HP Deskjet 1180c 打印机驱动
- ASEMI代理AD9833BRMZ-REEL原装ADI车规级AD9833BRMZ-REEL
- 物联网开发笔记(48)- 使用Micropython开发ESP32开发板之控制OLED ssd1306屏幕
- 中行安全控件可致 Win8 笔记本键盘失灵
- 首批接入司法数据的网贷平台已拒贷3万余失信被执行人
热门文章
- uva 610(tarjan的应用)
- 域内禁止不明东西连接DHCP
- 离奇的xenapp客户端无法加载应用故障解决过程 ...
- SQL – 2.SQLServer的管理 + 3.SQL基础1 + 4.SQL基础2
- c语言巩固,巩固一下C语言中的指针
- android 快传 源码_最新安卓仿茄子快传APP源码包括服务端源码Android开发快传类项目源码全套...
- mac安装python3.7两个版本_MAC下同时安装Python2和Python3
- wifi信号手机测试软件,专业的WiFi检测工具有哪些?如何解决wifi信号不好?
- mysql 主主结构_高性能mysql主主架构
- for each循环_Power Query — 循环初步