Mysql 创建从另一个表中提取计数的联接
我有一张包含房地产代理信息的表格,想从rets_代理那里获取Mysql 创建从另一个表中提取计数的联接,mysql,sql,join,group-by,Mysql,Sql,Join,Group By,我有一张包含房地产代理信息的表格,想从rets_代理那里获取名字,全名,以及电子邮件 然后,我想从另一个名为rets\u property\u res\u mstr的表中获得他们所有销售额的计数 我创建了一个还不起作用的查询,所以我需要一些帮助 SELECT r.firstname, r.fullname, r.email from rets_agents r LEFT JOIN rets_property_res_mstr ON r.email = rets_property_res
名字
,全名
,以及电子邮件
然后,我想从另一个名为rets\u property\u res\u mstr
的表中获得他们所有销售额的计数
我创建了一个还不起作用的查询,所以我需要一些帮助
SELECT r.firstname, r.fullname, r.email
from rets_agents r
LEFT JOIN rets_property_res_mstr
ON r.email = rets_property_res_mstr.ListAgentEmail
LIMIT 10;
我不知道如何获取此中的计数。您似乎在寻找聚合:
SELECT a.firstname, a.fullname, a.email, COUNT(p.ListAgentEmail) cnt
FROM rets_agents a
LEFT JOIN rets_property_res_mstr p ON r.email = p.ListAgentEmail
GROUP BY a.firstname, a.fullname, a.email
ORDER BY ?
LIMIT 10;
请注意,对于真正有意义的
LIMIT
子句,您需要一个orderby
子句,以便获得确定的结果(否则,将显示哪些记录是未定义的)-我在查询中添加了一个问号,您应该用相关列替换该问号.您似乎在寻找聚合:
SELECT a.firstname, a.fullname, a.email, COUNT(p.ListAgentEmail) cnt
FROM rets_agents a
LEFT JOIN rets_property_res_mstr p ON r.email = p.ListAgentEmail
GROUP BY a.firstname, a.fullname, a.email
ORDER BY ?
LIMIT 10;
请注意,对于真正有意义的
LIMIT
子句,您需要一个orderby
子句,以便获得确定的结果(否则,将显示哪些记录是未定义的)-我在查询中添加了一个问号,您应该用相关列替换该问号 < P>我会考虑使用CTE来处理这个问题:
WITH sales as (
SELECT ListAgentEmail, count(*) count_of_sales
FROM rets_property_res_mstr
GROUP BY ListAgentEmail
)
SELECT r.firstname, r.fullname, r.email, count_of_sales
from rets_agents r
LEFT JOIN sales
ON r.email = sales.ListAgentEmail
LIMIT 10;
我会考虑使用CTE来处理这个问题:
WITH sales as (
SELECT ListAgentEmail, count(*) count_of_sales
FROM rets_property_res_mstr
GROUP BY ListAgentEmail
)
SELECT r.firstname, r.fullname, r.email, count_of_sales
from rets_agents r
LEFT JOIN sales
ON r.email = sales.ListAgentEmail
LIMIT 10;
执行分组依据,并使用COUNT()。执行分组依据,并使用COUNT()。