查询优化 -- 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"
)
相关推荐
百***87442 小时前
【MySQL】SQL菜鸟教程(一)
sql·mysql·oracle
学习中的程序媛~4 小时前
Spring 事务(@Transactional)与异步(@Async / CompletableFuture)结合的陷阱与最佳实践
java·数据库·sql
老葱头蒸鸡4 小时前
(4)Kafka消费者分区策略、Rebalance、Offset存储机制
sql·kafka·linq
员大头硬花生4 小时前
九、InnoDB引擎-MVCC
数据库·sql·mysql
羑悻的小杀马特7 小时前
openGauss 数据库快速上手评测:从 Docker 安装到SQL 实战
数据库·sql·docker·opengauss
德迅云安全-小潘7 小时前
SQL:从数据基石到安全前线的双重审视
数据库·sql·安全
百***06949 小时前
SQL JOIN:内连接、外连接和交叉连接(代码+案例)
数据库·sql·oracle
_Minato_11 小时前
数据库知识整理——SQL数据更新
数据库·sql
兰若姐姐15 小时前
cisp-pte之SQL注入题之vulnerabilities/fu1.php?id=1
数据库·sql