mysql - 使用 MYSQL 在一个查询中的两个表中选择 COUNT

标签 mysql sql

有没有一种方法可以通过一个查询选择两个表的 COUNT。

目前我有以下内容,但无法正常工作。

SELECT 
COUNT(t1.id) as t1_amount,
COUNT(t2.id) as t2_amount
FROM
table1 t1,
table2 t2

最佳答案

这是一种方法:

select (select count(*) from table1) as t1_amount,
       (select count(*) from table2) as t2_amount

另一种方式:

select t1.t1_amount, t2.t2_amount
from (select count(*) as t1_amount from table1) t1 cross join
     (select count(*) as t2_amount from table2) t2

您的方法不起作用,因为 from 子句中的 , 执行了 cross join。这会在两个表之间计算笛卡尔积。

关于mysql - 使用 MYSQL 在一个查询中的两个表中选择 COUNT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16072876/

相关文章:

sql - 棘手的 sql 查询 - 寻找替代供应商(关系部门)

sql - 从文件或数据库服务器访问数据更快吗?

python - 在 mySQLDB for python 中为列名传递变量时遇到问题

mysql - 如何计算一列中不同数据的总值(value)

java - 切换mysql数据库连接

java - 如何使用变量更新列?

mysql - 如何使用 Like 运算符在 Mysql 中不显示重复值?

sql - postgresql 将变量发送到函数,转换?

Openshift 上的 MySQL 联合引擎盒

java - 解析 CSV 文件并将值存储在变量中