set @mte := (select max(salary * months) from employee);

select count(name), salary*months
from employee
group by salary*months
having salary*months = @mte;


这与错误编译


  第12行的错误1054(42S22):“具有”中的未知列“工资”
  条款'
  附注:Woud喜欢使用hading子句而不是where。我正在通过实验学习。想知道为什么这行不通
  附言:使用MYSQL最新

最佳答案

尝试在此处使用交叉应用,并用where子句代替

set @mte := (select max(salary * months) from employee);

select count(name), SalMonth
from employee cross apply (select salary*months SalMonth)a
where SalMonth = @mte
group by SalMonth;

关于mysql - 在having子句中使用运算符。错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50591677/

10-11 02:58