`

MySQL多结果集合并union查询

阅读更多
需求:
查询规则自定义,由数据库保存,返回结果字段来自同一张表;
要实现多个规则查询条件符合的适配,最终将查询结果合并展示出来,并标注是哪个规则的结果;

Mysql例子
--合并重复行  
select * from A  
union   
select * from B  
  
  
--不合并重复行  
select * from A  
union all  
select * from B  


Select * From (select id,adddate,title,url from bArticle where ClassId=1 order by adddate desc limit 0,2) A  
  Union All  
Select * From (select id,adddate,title,url from bArticle where ClassId=2 order by adddate desc limit 0,2) B
  Union All  
Select * From (select id,adddate,title,url from bArticle where ClassId=3 order by adddate desc limit 0,2) C
  Union All
Select * From (select id,adddate,title,url from bArticle where ClassId=4 order by adddate desc limit 0,2) D 
 


实践:
这里使用的是mysql默认的数据库mysql



SELECT * FROM (SELECT *,(SELECT 'A' as A) tag FROM help_topic) A
 UNION ALL
SELECT * FROM (SELECT *,(SELECT 'B' as A) tag FROM help_topic) B
 UNION ALL
SELECT * FROM (SELECT *,(SELECT 'C' as A) tag FROM help_topic) C
 UNION ALL
SELECT * FROM (SELECT *,(SELECT 'D' as A) tag FROM help_topic) D

效果图:


  • 大小: 49.3 KB
  • 大小: 7.4 KB
分享到:
评论

相关推荐

    MySQL中使用or、in与union all在查询命令下的效率对比

    `UNION ALL`用于合并两个或更多`SELECT`语句的结果集,而不去除重复行。在某些情况下,`UNION ALL`可能比`OR`和`IN`更快,因为它不需要额外的步骤去检查并去除重复行。但是,当`UNION ALL`涉及到多个`SELECT`时,每...

    mysql多条件查询

    合并集查询使用`UNION`或`UNION ALL`关键字来合并两个或更多查询的结果集。 - **UNION**: 只保留唯一行。 - **UNION ALL**: 包括所有行,即使有重复行。 例如,合并两个部门的员工信息: ```sql SELECT * FROM ...

    MySQL Union合并查询数据及表别名、字段别名用法分析

    本文实例讲述了MySQL Union合并查询数据及表别名、字段别名用法。分享给大家供大家参考,具体如下: union关键字 SELECT s_id, f_name, f_price FROM fruits WHERE f_price < 9.0 UNION ALL SELECT s_id, f_name...

    MySQL利用UNION连接2个查询排序失效详解

    在MySQL中,`UNION` 和 `UNION ALL` 是两个用于合并多个查询结果的关键字。它们的区别在于处理重复行的方式。`UNION` 会自动去除结果集中的重复行,而 `UNION ALL` 则保留所有行,包括重复行。 当我们执行如下的SQL...

    mysql查询根据列按条件统计总数

    `UNION`操作符用于合并两个或多个`SELECT`语句的结果集。它会删除结果集中的重复行。在进行统计分析时,如果需要将不同表的统计数据合并在一起展示,可以使用`UNION`。 ```sql (SELECT 列1, COUNT(*) AS cnt FROM ...

    mysql数据查询操作-实验训练2.docx

    * 了解如何使用 UNION 语句合并多个查询结果 * 了解如何使用 INTERSECT 语句获取公共记录 * 了解如何使用 EXCEPT 语句获取差异记录 7. 排序和分组: * 了解如何使用 ORDER BY 语句对记录进行排序 * 了解如何使用 ...

    06-3-数据库查询-合并查询结果并去重

    本文将详细介绍如何在MySQL中使用`UNION`和`UNION ALL`来合并查询结果,并讨论如何去重。 #### 1. UNION 与 UNION ALL 的概念 - **UNION**:用于合并两个或多个`SELECT`语句的结果集。使用`UNION`时,结果集中只会...

    mysql数据库的多表设计和各种查询(连接查询\子查询\联合查询\报表查询),以及数据库备份和恢复

    3. 联合查询(UNION):联合查询用于合并两个或更多SELECT语句的结果集,但要求所有查询返回相同数量和类型的列。 4. 报表查询(Report Query):这类查询通常涉及聚合函数(如SUM, AVG, COUNT等)和GROUP BY语句,...

    sql 查询结果合并union all用法_数据库技巧

    在SQL(结构化查询语言)中,`UNION ALL` 是一种用于合并多个查询结果集的运算符。这个技巧在数据库查询中非常实用,尤其是在处理多个表的数据整合或者需要显示所有记录,包括重复数据的情况下。下面我们将深入探讨`...

    计算机病毒与防护:MYSQL联合查询上.ppt

    MySQL数据库中的联合查询(UNION)是一种强大的操作,它允许将两个或更多SELECT语句的结果合并成一个结果集。在理解联合查询时,我们需要明确几个关键概念: 1. **UNION操作符**:UNION操作符用于合并两个或多个...

    MySQL如何使用union all获得并集排序

    在MySQL中,`UNION ALL` 用于合并多个`SELECT`语句的结果集,而这里的重点是如何在合并结果后进行排序。在给定的场景中,我们有一个文章数据表,其中文章的状态通过`PROMOTE_STATUS`字段表示,分别对应0(待发布)、...

    数据库系统及原理及MYSQL应用教程多表连接和子查询实验报告

    4. **UNION运算符**:用于合并两个或更多SELECT语句的结果集,去除重复行。 5. **IN和ANY/ALL子查询**: - **IN**:查找符合指定列表中的值的记录,如查找修过特定课程的学生。 - **ANY**:如果子查询返回任何一...

    浅析mysql union和union all

    MySQL中的`UNION`和`UNION ALL`是两种用于合并多个查询结果集的方法,它们在处理数据并集时有着显著的区别。 1. **UNION**: `UNION` 操作符用于合并两个或更多`SELECT`语句的结果集,并自动去除重复行。在执行`...

    mysql行转列(将同一列下的不同内容的几行数据,转换成几列显示)、列转行、行列汇总、合并显示

    MySQL 合并显示是将多个查询结果合并到一个查询结果的操作。例如,我们可以使用 UNION ALL 语句来将多个查询结果合并到一个查询结果。 SELECT userid, SUM(IF(`subject`='语文', score, 0)) AS 语文, SUM(IF...

    Mysql联合查询UNION和UNION ALL的使用介绍

    UNION 用于合并两个或多个 SELECT 语句的结果集,并消去表中任何重复行。UNION 内部的 SELECT 语句必须拥有相同数量的列,列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同.SQL UNION 语法...

    MySQL多表查询

    #### 三、合并多个结果集 有时我们需要将来自不同查询的结果合并成一个结果集。在MySQL中,可以使用`UNION`和`UNION ALL`关键字来实现这一功能。 - **UNION**:删除重复行。 - **UNION ALL**:保留所有行,包括...

    MySQL多表查询、事务和管理用户及授权

    3. **UNION操作**:UNION用于合并两个或更多SELECT语句的结果集,去除重复行。如果需要包含所有行,包括重复的,可以使用UNION ALL。 4. **自连接**:在同一个表中进行自我比较,通常用于处理具有层级关系的数据。 ...

Global site tag (gtag.js) - Google Analytics