mysql - 来自 MySQL 中多个表的 COUNT(*)

标签 mysql count

如何从 MySQL 的多个表中选择 COUNT(*)?

如:

SELECT COUNT(*) AS table1Count FROM table1 WHERE someCondition
JOIN?? 
SELECT COUNT(*) AS table2Count FROM table2 WHERE someCondition
CROSS JOIN? subqueries?
SELECT COUNT(*) AS table3Count FROM table3 WHERE someCondition

编辑:

目标是返回这个:

+-------------+-------------+-------------+
| table1Count | table2Count | table3Count |
+-------------+-------------+-------------+
| 14          | 27          | 0           |
+-------------+-------------+-------------+

最佳答案

您可以通过使用子查询来做到这一点,每个 tableCount 一个子查询:

SELECT
  (SELECT COUNT(*) FROM table1 WHERE someCondition) as table1Count, 
  (SELECT COUNT(*) FROM table2 WHERE someCondition) as table2Count,
  (SELECT COUNT(*) FROM table3 WHERE someCondition) as table3Count

关于mysql - 来自 MySQL 中多个表的 COUNT(*),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3761240/

相关文章:

r - 如何在r中按组计算字符串中的字符?

Java - 计算大字符串中的音节

list - 计算列表中原子的所有出现次数? - 口齿不清

c# - C#aspnetCore否IEnumerable构造函数

python - 如何使用python mysql实现搜索引擎?

返回 null 的 MySQL 计数(列)

r - 跨几列,计算对的实例

mysql - 如何在 MySQL 中将 1/3 存储为小数

mysql - 为什么这个 MySQL 查询在条件组合时慢,但在条件分离时快?

删除行时 Mysql 列按数字重新排序