Mysql 来自两个表的where子句中的count()
我是sql新手。我有两张桌子。我想检查每个表的计数,然后在每个表的计数相等时选择计数的数量 这是我的疑问Mysql 来自两个表的where子句中的count(),mysql,sql,Mysql,Sql,我是sql新手。我有两张桌子。我想检查每个表的计数,然后在每个表的计数相等时选择计数的数量 这是我的疑问 $ratio = "SELECT count(*) AS ratio FROM live_agents,campaigns WHERE live_agents.count(agent) = campaigns.count(id)"; 注意:我知道live_agents.count(代理)和campaigns.count(id)不起作用。我写这行是为了清楚地了解我的处境
$ratio = "SELECT count(*) AS ratio FROM live_agents,campaigns
WHERE live_agents.count(agent) = campaigns.count(id)";
注意:我知道live_agents.count(代理)和campaigns.count(id)不起作用。我写这行是为了清楚地了解我的处境。我想计算live_agents表中列代理的行数,并想计算活动表中列id的行数
表实时代理
:
agent
------
admin
user
staff
表活动
:
id
----
1
2
预期产出:
count
-------
2
希望你们都理解我的问题试试这个
SELECT Min(Ratio) Count FROM
(
SELECT Count(*) AS Ratio FROM live_agents
UNION ALL
SELECT Count(*) AS Ratio FROM campaigns
)X
在MySQL中,您可以使用
LEAST()
:
向我们展示一些示例表数据和预期结果。(作为格式化文本,而不是图像。)如果live_代理有5行,活动有3行,那么预期的结果是什么?
SELECT LEAST( (SELECT Count(*) AS Ratio FROM live_agents),
(SELECT Count(*) AS Ratio FROM campaigns)
)