首页 > 解决方案 > 如何修复“ERROR 1064 (42000): You have an error in your SQL syntax;” 在mysql中

问题描述

ERROR 1064 (42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 3 行的 'COUNT(a.buy_id) AS Total_buy FROM DAS AS a JOIN (SELECT ' 附近使用正确的语法

整个代码如下:

SELECT
           a.team_leader
           COUNT(a.buy_id) AS Total_buy
FROM DAS AS a
JOIN 
       (SELECT
                  b.team_leader
                  COUNT(DISTINCT b.user_id) AS Customers_Who_Ordered
        FROM DAS AS b
        WHERE b.processing_at BETWEEN “01-07-2020” AND “31-07-2020”
        GROUP BY b.team_leader)
ON a.team_leader = b.team_leader
GROUP BY a.team_leader
ORDER BY Total_buy DESC
LIMIT 5

标签: mysqlsql

解决方案


你缺少一个,after SELECT a.team_leader。它应该是SELECT a.team_leader, COUNT(a.buy_id)...

你需要在另一个select查询中做同样的事情——SELECT b.team_leader, COUNT(DISTINCT b.user_id)...

SELECT a.team_leader,
       COUNT(a.buy_id) AS Total_buy
FROM DAS AS a
JOIN
  (SELECT b.team_leader,
          COUNT(DISTINCT b.user_id) AS Customers_Who_Ordered
   FROM DAS AS b
   WHERE b.processing_at BETWEEN "01-07-2020" AND "31-07-2020"
   GROUP BY b.team_leader) AS b
ON a.team_leader = b.team_leader
GROUP BY a.team_leader
ORDER BY Total_buy DESC
LIMIT 5

推荐阅读