Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 创建从另一个表中提取计数的联接_Mysql_Sql_Join_Group By - Fatal编程技术网

Mysql 创建从另一个表中提取计数的联接

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_代理那里获取
名字
全名
,以及
电子邮件

然后,我想从另一个名为
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()。