如何在MySQL中使用Distinct top?

如何在MySQL中使用Distinct top?,mysql,sql,select,syntax-error,Mysql,Sql,Select,Syntax Error,我正在努力解决第二高的薪水问题 Select distinct top 2 salary from employee; 我的代码显示了一个语法错误 错误代码:1064。您的SQL语法有错误;检查 与右边的MySQL服务器版本相对应的手册 在第1行使用接近“2来自员工的工资”的语法 我正在使用MySQL Workbench。您可以对查询进行排序,并使用limit子句: 选择不同的薪资 来自员工 按薪金说明订购 限制2 如果你想在MySQL中获得第二高的薪水,你需要限制和抵消: Select di

我正在努力解决第二高的薪水问题

Select distinct top 2 salary from employee;
我的代码显示了一个语法错误

错误代码:1064。您的SQL语法有错误;检查 与右边的MySQL服务器版本相对应的手册 在第1行使用接近“2来自员工的工资”的语法


我正在使用MySQL Workbench。

您可以对查询进行排序,并使用
limit
子句:

选择不同的薪资
来自员工
按薪金说明订购
限制2

如果你想在MySQL中获得第二高的薪水,你需要
限制
抵消

Select distinct salary
from employee
order by salary desc
limit 1 offset 1;

这不是问题,这对数据集做出了具体的假设。@Ivan Mureinik的回答很可能符合您的要求。除非草莓想要分享关于为什么它在MySQL中不合理的更多细节。谢谢@Mureinik,我认为MySQL允许顶级功能,就像我在Youtube教程中所做的那样,但是你的代码更容易理解。谢谢@GordonLinoff,它可以工作。