mysql - sql查询中where子句中n的用途是什么

标签 mysql sql

SELECT * 
FROM Employees Emp1 
WHERE (n) = ( SELECT COUNT(DISTINCT(Emp2.Salary)) 
              FROM Employees Emp2 
              WHERE Emp2.Salary >= Emp1.Salary )

最佳答案

我认为最重要的是子查询。它返回大于或等于当前Emp1.Salary的不同工资的数量。返回的值等于员工的薪资级别。

假设您是薪水第三高的员工,10000。子查询将计算大于您的不同薪水的数量,即 2 加一 (2+1 =3)。加一从员工(包括您自己)算起,工资等于 10000。这是因为 WHERE 子句中使用了 >=

话虽如此,整个查询根据员工的薪资等级选择员工是完全有道理的。

关于mysql - sql查询中where子句中n的用途是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25822908/

相关文章:

mysql - 获取表名的子查询

sql - 按日期时间选择日期时间偏移字段

sql - 如何知道某列中所有单元格是否具有相同的值

mysql - 如何收集不需要的值?

SQL 解析分隔字符串

java - Hibernate 多表批量操作总是尝试创建临时表

javascript - Sequelize - 使用 MySQL 选择所有超过 5 分钟的记录的抽象查询

mysql - 来自不同表的复杂浮点计算

mysql - Docker容器bash无法通过socket连接到本地MySQL服务器

mysql - 将负载均衡器添加到 wordpress 多站点安装