首页 > 解决方案 > 两个表的where子句中的count()

问题描述

我是 sql 新手。我有两张桌子。我想检查每个表的计数,然后我想在每个表的计数相等时选择计数。

这是我的查询;

$ratio = "SELECT count(*) AS ratio FROM live_agents,campaigns 
          WHERE live_agents.count(agent) = campaigns.count(id)";

注意:我知道 live_agents.count(agent) 和 campaign.count(id) 将不起作用。我写这行是为了清楚地了解我的情况。我想计算 live_agents 表中列代理的行数,并想计算活动表中列 id 的行数。

live_agents

agent
------
admin
user
staff

campaigns

id
----
1
2

预期输出:

count
-------
2

希望大家理解我的问题

标签: mysqlsql

解决方案


尝试这个

SELECT Min(Ratio) Count FROM
(
   SELECT Count(*) AS Ratio FROM live_agents
   UNION ALL
   SELECT Count(*) AS Ratio FROM campaigns
)X

推荐阅读