MYSQL union 和union all 用法 /

Posted 无敌的星哥哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYSQL union 和union all 用法 /相关的知识,希望对你有一定的参考价值。

UNION 操作符用于合并两个或多个 SELECT 语句的结果集。

请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。去重,操作符选取不同的值

UNION ALL 顾名思义 unionall 显示全部 UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。

-- 案卷总数
SELECT
	count( t.id ) AS tiaoshu 
FROM
	grid_case_his t 
WHERE
	t.BELONG_TOWN LIKE CONCAT_WS( '111', '', '%' ) UNION ALL-- 	立案数
SELECT
	count( l.id ) AS tiaoshu 
FROM
	grid_case_his l 
WHERE
	l.CASE_REGISTE_TIME > 0 
	AND l.BELONG_TOWN LIKE CONCAT_WS( '111', '', '%' ) UNION ALL-- 			结案数
SELECT
	count( j.id ) AS tiaoshu 
FROM
	grid_case_his j 
WHERE
	j.CASE_STATUS = 'case_status_logoff' 
	AND j.BELONG_TOWN LIKE CONCAT_WS( '111', '', '%' ) UNION ALL-- 			返工数
SELECT
	count( d.id ) AS tiaoshu 
FROM
	grid_case_his d 
WHERE
	d.CASE_STATUS = 'case_status_rebut' 
	AND d.BELONG_TOWN LIKE CONCAT_WS( '111', '', '%' ) UNION ALL-- 				在办
SELECT
	count( k.id ) AS tiaoshu 
FROM
	grid_case_his k 
WHERE
	k.`CASE_STATUS` != 'case_status_logoff' 
	AND k.BELONG_TOWN LIKE CONCAT_WS( '111', '', '%' ) UNION ALL-- 				超期案件
SELECT
	count( v.id ) AS tiaoshu 
FROM
	grid_case_his v 
WHERE
	v.`CASE_STATUS` != 'case_status_logoff' 
	AND CURDATE() > v.CASE_LIMIT_TIME 
	AND v.BELONG_TOWN LIKE CONCAT_WS( '111', '', '%' ) 
	LIMIT 1000
	

CURDATE() > v.CASE_LIMIT_TIME
CURDATE() : 当前时间
CONCAT_WS :字符串拼接 类似于 like 111% 以111开头的

可参考W3C

以上是关于MYSQL union 和union all 用法 /的主要内容,如果未能解决你的问题,请参考以下文章

Mysql中union和union all的用法及区别

mysql数据库多个表union all查询并排序的结果为啥错误

mySql多表连接查询与union与union all用法

mysql数据库多个表union all查询并排序的结果为啥错误

mysql union和union all的区别

mysql中union和union all的区别和注意点