查询优化 -- UNION 用法

union 不返回重复行(所有字段值相同的行)

union all 返回所有行

// 每类最多统计100条

sql 复制代码
select `server_id`,count(1) as logs from ( SELECT `server_id` FROM `log` WHERE `log`.`type` = "a" AND server_id=1 limit 100 )
UNION
select `server_id`,count(1) as logs from ( SELECT `server_id` FROM `log` WHERE `log`.`type` = "a" AND server_id=2 limit 100 )
UNION
select `server_id`,count(1) as logs from ( SELECT `server_id` FROM `log` WHERE `log`.`type` = "a" AND server_id=3 limit 100 );
sql 复制代码
SELECT * FROM log WHERE type="a"
UNION
SELECT * FROM log WHERE type="b"
UNION
SELECT * FROM log WHERE type="c"
order by id desc LIMIT 10

【高性能mysql】

sql 复制代码
(SELECT * FROM log WHERE type="a" order by id desc LIMIT 10)
UNION ALL
(SELECT * FROM log WHERE type="b" order by id desc LIMIT 10)
UNION ALL
(SELECT * FROM log WHERE type="c" order by id desc LIMIT 10)
order by id desc LIMIT 10
sql 复制代码
select sum(num)
from
(
SELECT count(1) as num FROM log WHERE type="a"
UNION
SELECT count(1) as num FROM log WHERE type="b"
UNION
SELECT count(1) as num FROM log WHERE type="c"
)
相关推荐
小江的记录本3 小时前
【MyBatis-Plus】Spring Boot + MyBatis-Plus 进行各种数据库操作(附完整 CRUD 项目代码示例)
java·前端·数据库·spring boot·后端·sql·mybatis
FITA阿泽要努力3 小时前
《实战SQL: GROUP BY》
数据库·sql
standovon4 小时前
【MySQL基础篇】概述及SQL指令:DDL及DML
sql·mysql·oracle
l1t4 小时前
DeepSeek总结的 DuckDB 1.5 功能亮点
数据库·sql·duckdb
少年攻城狮5 小时前
Oracle系列---【两个环境,表结构一致,数据量一致,索引也一致,为什么同样的sql执行时间却不一致?】
数据库·sql·oracle
小江的记录本5 小时前
【MyBatis-Plus】MyBatis-Plus的核心特性、条件构造器、分页插件、乐观锁插件
java·前端·spring boot·后端·sql·tomcat·mybatis
GoodStudyAndDayDayUp7 小时前
RUO-VUE-PRO权限关联sql
java·数据库·sql
次旅行的库7 小时前
【问渠哪得清如许-数据分析】学习笔记-下
数据库·笔记·sql·学习
麦聪聊数据9 小时前
快速将Oracle数据库发布为 API:使用 QuickAPI 实现 SQL2API
数据库·sql·低代码·oracle·restful
hwscom10 小时前
ChurchCRM SQL注入漏洞(CNVD-2026-12565、CVE-2026-24854)
sql·web安全