我是sql新手。我有两张桌子。我想检查每个表的计数,然后在每个表的计数相等时选择计数的数目。
这是我的查询;
$ratio = "SELECT count(*) AS ratio FROM live_agents,campaigns
WHERE live_agents.count(agent) = campaigns.count(id)";
注意:我知道live_agents.count(agent)和campaigns.count(id)无法正常工作。我写这行是为了清楚地了解我的情况。我想计算live_agents表中列代理的行数,并想计算Campaigns表中列ID的行数。
表live_agents
:
agent
------
admin
user
staff
表campaigns
:
id
----
1
2
预期输出:
count
-------
2
希望大家都明白我的问题
答案 0 :(得分:1)
尝试一下
SELECT Min(Ratio) Count FROM
(
SELECT Count(*) AS Ratio FROM live_agents
UNION ALL
SELECT Count(*) AS Ratio FROM campaigns
)X
答案 1 :(得分:0)
在MySQL中,您可以使用LEAST()
:
SELECT LEAST( (SELECT Count(*) AS Ratio FROM live_agents),
(SELECT Count(*) AS Ratio FROM campaigns)
)