简体   繁体   English

如何在MYSQL中运行此脚本?

[英]How do I run this script in MYSQL?

This is my script from Oracle but I have problems running it on MySQL. 这是我的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;

The error that I get when I run it on MySQL: 我在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 said: MySQL说:

#1064 - You have an error in your SQL syntax; #1064-您的SQL语法有误; check the manual that corresponds to your MySQL server version for the right syntax to use near 'GROUP BY s.branch_no LIMIT 0, 50' at line 7 检查与您的MySQL服务器版本对应的手册以获取正确的语法,以在第7行的'GROUP BY s.branch_no LIMIT 0,50'附近使用

Try seperating the query into small subqueries. 尝试将查询分成小的子查询。

In your case I would try: 在您的情况下,我会尝试:

SELECT *
FROM (
    SELECT SUM(staff_salary) sm , branch_no
    FROM staff 
    GROUP BY BRANCH_NO
) s
ORDER BY sm DESC LIMIT 1

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM