Php mySQL-在一个查询中使用两个连接?

Php mySQL-在一个查询中使用两个连接?,php,mysql,sql,Php,Mysql,Sql,我试图在一个查询中使用两个JOIN语句 $sqlsorgu = mysql_query("SELECT *, COUNT(*), AVG(clicks), AVG(scrolls), AVG(spent) FROM track where referid='".$memberr."' GROUP BY referer ORDER BY id desc limit 15 JOIN ( select id, country, num, num*100/total pct from (

我试图在一个查询中使用两个JOIN语句

$sqlsorgu = mysql_query("SELECT *, COUNT(*), AVG(clicks), AVG(scrolls), AVG(spent)
FROM track where referid='".$memberr."' GROUP BY referer ORDER BY id desc limit 15 
JOIN
(
   select id, country, num, num*100/total pct 
   from (SELECT id,country, count(*) as num 
   FROM track GROUP BY country 
   ORDER BY num desc limit 5) x 
   join (select count(*) total from track) y
) tc on t.id = tc.id") or die(mysql_error());
但我得到了这个错误:

您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解在第1行的“JOIN select id,country,num,num*100/total pct from select id,country”附近使用的正确语法


正确的使用方法是什么?

GROUP BY/WHERE/Order BY come after join语句。尝试重新排序,如:

"SELECT *, COUNT(*), AVG(clicks), AVG(scrolls), AVG(spent)
FROM track t
JOIN
(
   select id, country, num, num*100/total pct 
   from (SELECT id,country, count(*) as num 
   FROM track GROUP BY country 
   ORDER BY num desc limit 5) x 
   join (select count(*) total from track) y
) tc on t.id = tc.id
where referid='".$memberr."' 
GROUP BY referer 
ORDER BY tc.id desc limit 15 

连接在from子句中。在下了命令之后就不行了。在加入后从何处移动所有内容。您需要定义t在我编辑答案后的轨迹。否则它就不知道该加入什么onGotcha了。但现在order子句中的列“id”是不明确的。根据需要使用t.id或tc.id。当使用连接来澄清数据从何处提取时,最好包含表名。使用t.id或tc.id代替什么?如果可能的话,请编辑一下答案好吗?谢谢在orderbyid中,如果t和tc都有id列,那么使用哪个将是不明确的。我用tc.id编辑了答案