博客
关于我
mySQL 多个表求多个count
阅读量:797 次
发布时间:2023-02-10

本文共 733 字,大约阅读时间需要 2 分钟。

数据库管理是一个技术工作者常需要面对的挑战,今天我遇到了一个有趣的问题:如何通过单一的SQL语句,从多个表中同时获取多个计数结果。经过思考,我决定使用MySQL中的UNION ALL功能来实现这一目标。

具体来说,我需要从四个不同的表中统计满足特定条件的记录数量。以下是实现的SQL语句:

SELECT COUNT(*) FROM tj_active_person WHERE researcher_id='35' AND is_delete=0UNION ALLSELECT COUNT(*) FROM tj_active_person WHERE researcher_id='35' AND sign_status=1 AND is_delete=0UNION ALLSELECT COUNT(*) FROM tj_report WHERE researcher_id='35' AND is_delete=0UNION ALLSELECT COUNT(*) FROM tj_registration WHERE invitation_code IN(    SELECT inviter_code FROM tj_registration WHERE id='35' AND is_delete=0)

这个语句通过UNION ALL将四个独立的SELECT子句合并在一起,返回了四个计数结果。UNION ALL的优势在于它不会消耗额外的CPU资源来去除重复的记录,因此在处理大量数据时表现尤为出色。

通过这种方式,我能够在一个简单的SQL语句中完成多个表的数据统计任务,大大简化了数据库管理的复杂性。MySQL的强大功能和简洁语法使得这样的优化变得轻松易行。

转载地址:http://ykbfk.baihongyu.com/

你可能感兴趣的文章
MySQL 深度分页性能急剧下降,该如何优化?
查看>>
MySQL 添加列,修改列,删除列
查看>>
mysql 添加索引
查看>>
MySQL 添加索引,删除索引及其用法
查看>>
MySQL 用 limit 为什么会影响性能?
查看>>
MySQL 用 limit 为什么会影响性能?有什么优化方案?
查看>>
MySQL 用户权限管理:授权、撤销、密码更新和用户删除(图文解析)
查看>>
mysql 用户管理和权限设置
查看>>
MySQL 的 varchar 水真的太深了!
查看>>
mysql 的GROUP_CONCAT函数的使用(group_by 如何显示分组之前的数据)
查看>>
MySQL 的instr函数
查看>>
MySQL 的mysql_secure_installation安全脚本执行过程介绍
查看>>
MySQL 的Rename Table语句
查看>>
MySQL 的全局锁、表锁和行锁
查看>>
mysql 的存储引擎介绍
查看>>
MySQL 的存储引擎有哪些?为什么常用InnoDB?
查看>>
mysql 索引
查看>>
MySQL 索引失效的 15 种场景!
查看>>
MySQL 索引深入解析及优化策略
查看>>
MySQL 索引的面试题总结
查看>>