这是我的Oracle脚本,但我在MySQL上运行它时遇到了问题。
SELECT s.branch_no, SUM(s.staff_salary)
from staff AS s
HAVING SUM(staff_salary) = (SELECT MAX(SUM(S2.staff_salary))
FROM staff AS S2
GROUP BY S2.BRANCH_NO)
GROUP BY s.branch_no;
我在MySQL上运行时遇到的错误:
SELECT s.branch_no, SUM(s.staff_salary)
from staff AS s
HAVING SUM(staff_salary) = (SELECT MAX(SUM(S2.staff_salary))
FROM staff AS S2
GROUP BY S2.branch_no)
GROUP BY s.branch_no
LIMIT 0, 50
MySQL说:
#1064 - 您的SQL语法出错;检查与MySQL服务器版本对应的手册,以获得正确的语法 靠近' GROUP BY s.branch_no LIMIT 0,50'在第7行
答案 0 :(得分:0)
尝试将查询分成小的子查询。
在你的情况下,我会尝试:
SELECT *
FROM (
SELECT SUM(staff_salary) sm , branch_no
FROM staff
GROUP BY BRANCH_NO
) s
ORDER BY sm DESC LIMIT 1