查询优化 -- 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 小时前
设计一个秒杀功能
java·数据库·sql
廋到被风吹走3 小时前
【数据库】【Oracle】SQL基础
数据库·sql·oracle
爱丽_5 小时前
MyBatis动态SQL完全指南
服务器·sql·mybatis
lightningyang5 小时前
渗透入门之SQL 注入(二)
数据库·sql·渗透·sql注入
白日做梦Q10 小时前
【MySQL】9.吃透关键SQL语法:从正则表达式、窗口函数、条件函数到结果集合并的实战拆解
数据库·sql·mysql·正则表达式
冰冰菜的扣jio11 小时前
SQL语句是如何在MySQL中执行的
数据库·sql
么么...11 小时前
掌握 MySQL:数据类型、数据定义语言DDL、数据操作语言DML
数据库·经验分享·sql·mysql
zhengfei61112 小时前
绿盟运维安全管理系统SQL注入漏洞
运维·sql·安全
白帽子凯哥哥13 小时前
2026零基础如何参与护网行动?(非常详细)
数据库·sql·学习·漏洞·xss
hgz071013 小时前
MySQL索引数据结构:B+树 vs 哈希索
数据库·sql·mysql