首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >列出百分比大于某一数字的所有员工

列出百分比大于某一数字的所有员工
EN

Stack Overflow用户
提问于 2017-12-16 08:37:34
回答 4查看 1K关注 0票数 1

如何列出百分比大于某个数字的所有员工,百分比是根据最高薪资计算的。

示例:

如果最大薪资为100,员工薪资为50,则百分比应显示50。

这就是我试过的:

代码语言:javascript
复制
select (salary/Max(salary)*100) as percentage from test.employeetable
where percentage > 75;

我得到的错误是:

“where”子句中未知列“百分比”

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-12-16 08:49:44

首先获取变量中的最大值,然后选择相关的结果。

代码语言:javascript
复制
select @max := max(salary) from test.employeetable;
select (salary/@max*100) as pc from test.employeetable having pc > 75;

注意having而不是where

你可以显示相关的工资(等等.)也是

代码语言:javascript
复制
select @max := max(salary) from test.employeetable;
select salary,(salary/@max*100) as pc from test.employeetable having pc > 75;

不使用变量

代码语言:javascript
复制
select (salary/m.mx*100) as pc from test.employeetable, 
(select max(salary) as mx from test.employeetable) as m
having pc > 75;
票数 1
EN

Stack Overflow用户

发布于 2017-12-16 08:58:07

试试这样的东西;

代码语言:javascript
复制
select * from (
select (salary / (select max(salary) from test.employeetable) * 100) as percentage from test.employeetable) Records
where percentage > 75;
票数 2
EN

Stack Overflow用户

发布于 2017-12-16 08:44:18

代码语言:javascript
复制
Select (salary/Max(salary)*100) as percentage 
from test.employeetable 
where (salary/Max(salary)*100) > 75;  

在MySql中,您不能在where子句中使用"as“

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47843955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档