Mysql 内部联接+计数+分组依据

Mysql 内部联接+计数+分组依据,mysql,count,group-by,inner-join,Mysql,Count,Group By,Inner Join,我无法计算/分组内部联接的结果 我有两张桌子 结果\u转储:它有两列:email和result。结果值可以是open或bounce 所有数据:共有三列:电子邮件、全名和地址 第一个目标是查询result_dump表,统计并分组特定电子邮件打开结果的次数 此查询非常有效: SELECT `email`, COUNT(*) AS count FROM `result_dump` WHERE `date` = "open" GROUP BY `email` HAVING COUNT(*) >

我无法计算/分组内部联接的结果

我有两张桌子

结果\u转储:它有两列:email和result。结果值可以是open或bounce

所有数据:共有三列:电子邮件、全名和地址

第一个目标是查询result_dump表,统计并分组特定电子邮件打开结果的次数

此查询非常有效:

SELECT `email`, COUNT(*) AS count
FROM `result_dump`
WHERE `date` = "open" 
GROUP BY `email`
HAVING COUNT(*) > 3
ORDER BY count DESC
第二个目标是,任何打开超过3次的人都可以获得这些结果,并输入“全名”和“地址”,因此我将详细了解谁打开了超过3次的电子邮件

我有这样一个查询,它可以将数据收集到一起,但我不知道如何获得计数,如何处理内部连接

我想这个没问题


我认为这个没有问题。

尝试以下查询:

SELECT * FROM all_data AS a
INNER JOIN 
(SELECT * FROM result_dump where email IN 
                                    (SELECT `email`
                                     FROM `result_dump`
                                     WHERE `date` = "open" 
                                     GROUP BY `email`
                                     HAVING count(email) >3
                                     ORDER BY count(email) DESC)) AS b
ON a.email = b.email
WHERE b.`result` = "open" 

尝试以下查询:

SELECT * FROM all_data AS a
INNER JOIN 
(SELECT * FROM result_dump where email IN 
                                    (SELECT `email`
                                     FROM `result_dump`
                                     WHERE `date` = "open" 
                                     GROUP BY `email`
                                     HAVING count(email) >3
                                     ORDER BY count(email) DESC)) AS b
ON a.email = b.email
WHERE b.`result` = "open" 
这很好用。。。!试试这个

SELECT title.title
       ,count(*)
       ,title.production_year
       ,title.id as movie_id
       ,title.flag as language
       ,movie_info.info
FROM title INNER JOIN movie_info ON title.id=movie_info.movie_id;
这很好用。。。!试试这个

SELECT title.title
       ,count(*)
       ,title.production_year
       ,title.id as movie_id
       ,title.flag as language
       ,movie_info.info
FROM title INNER JOIN movie_info ON title.id=movie_info.movie_id;

嗯,您需要正确引用groupable对象。你在这么做吗?示例:选择a.email,从a.id=B.id的内部连接B中计数,其中a.result='open'组由a.email进行计数>=3,order by count*descIt花费了我几个小时才了解到这一点-它起作用了。谢谢。嗯,您需要正确引用groupable对象。你在这么做吗?示例:选择a.email,从a.id=B.id的内部连接B中计数,其中a.result='open'组由a.email进行计数>=3,order by count*descIt花费了我几个小时才了解到这一点-它起作用了。谢谢。我厌倦了它给我的每个派生表都必须有它自己的别名错误-在你的第一行应该选择*从所有数据中a被选择*从所有数据中a被选择为uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu,count as count from result_dump as a internal join all_data as b on a.email=b.email where a.result_dump='open'group by a.email我厌倦了这一点,它给了我每个派生表都必须有自己的别名错误-在第一行中应该选择*从所有_数据中选择*从所有_数据中选择*作为uuuu_u我不确定那里应该有什么不起作用,但我会花一天的时间来认真检查,很有可能我在某个地方犯了一个错误-谢谢选择,从result\u dump算为count作为一个内部连接所有数据作为b在a.email=b.email中,其中a.result\u dump=通过a.email“打开”组