博客
关于我
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 union orderby 无效
查看>>
mysql where中如何判断不为空
查看>>
mysql workbench6.3.5_MySQL Workbench
查看>>
MySQL Workbench安装教程以及菜单汉化
查看>>
MySQL Xtrabackup 安装、备份、恢复
查看>>
mysql [Err] 1436 - Thread stack overrun: 129464 bytes used of a 286720 byte stack, and 160000 bytes
查看>>
MySQL _ MySQL常用操作
查看>>
MySQL – 导出数据成csv
查看>>
MySQL —— 在CentOS9下安装MySQL
查看>>
mysql 不区分大小写
查看>>
mysql 两列互转
查看>>
MySQL 中开启二进制日志(Binlog)
查看>>
MySQL 中文问题
查看>>
MySQL 中日志的面试题总结
查看>>
mysql 中的all,5分钟了解MySQL5.7中union all用法的黑科技
查看>>
Mysql 中的日期时间字符串查询
查看>>
MySQL 中锁的面试题总结
查看>>
MySQL 中随机抽样:order by rand limit 的替代方案
查看>>
MySQL 为什么需要两阶段提交?
查看>>
mysql 为某个字段的值加前缀、去掉前缀
查看>>