查询优化 -- 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"
)
相关推荐
云和恩墨2 小时前
AI驱动的Oracle SQL优化:从经验依赖到智能协同的三大价值
人工智能·sql·oracle·深度优先·dba
F***E2393 小时前
SQL中的REGEXP正则表达式使用指南
数据库·sql·正则表达式
对 酒 当 歌 人 生 几 何5 小时前
Mysql多表连接
数据库·sql·mysql
用户7227868123446 小时前
SQL中的CTE用法初步(Common Table Expression公共表表达式)
sql
却尘6 小时前
用 25 个概念彻底看懂SQL多维分析的底层逻辑
后端·sql·mysql
快乐非自愿6 小时前
SQL Server 2025 新功能概览
sql
伐尘7 小时前
【MySQL】MySQL 有效利用 profile 分析 SQL 语句的执行过程
android·sql·mysql
s***46988 小时前
SQL 中UPDATE 和 DELETE 语句的深入理解与应用
数据库·sql
allione8 小时前
数据库中容易混淆的关键字alter/update...
数据库·sql
Han.miracle10 小时前
数据库圣经--简单使用索引
java·数据库·sql·索引