找到收入低于其他2位教授的教授

时间:2015-09-24 05:23:00

标签: sql

CREATE TABLE Professors(
    Name varchar,
    Salary money
)

我有这个sql问题要回答:

  1. 找到薪酬低于最多2位其他教授的教授
  2. 找到第三高薪教授。
  3. 问题1中的问题与问题2中的问题相同吗?
  4. 我的理解是他们相同。

    因为在第一部分我们需要找一位教授的薪水可以低于最多2人的薪水。如果有很多教授在同一个薪水的顶层,这将不会返回任何东西。

    我的理解是否正确?如果没有,任何人都可以通过示例数据和查询来帮助我。

3 个答案:

答案 0 :(得分:1)

如果工资全部不同,结果会相同,但如果表格如下:

Name - Salary
A - 1
B - 1
C - 2
D - 3
E - 4
F - 5
问题1会导致C教授的薪水为2,但问题2会导致Professer D的薪水为3。

但如果表格如下所示会发生什么:

Name - Salary
A - 1
B - 1
C - 1
D - 1
E - 2
F - 3

现在问题1变得有点棘手,因为问题1的答案会导致薪水相同或者有超过2名教授的薪水更高。

如果这是学校的作业,答案可能在实际数据中,但无论哪种方式,我都会要求提出此问题的人进行澄清。

答案 1 :(得分:0)

在这种情况下,RANK函数应该可以解决问题。

答案 2 :(得分:0)

这里有两个类似的解决方案,假设第三个最好的薪水是重要的(无论有多少教授有相同的薪水)。我认为这对现实生活情况有效。我希望它有所帮助。

success:function(result){
                            site_area=result.site_area;
                            alert(site_area);
                            $('#site_area').val(site_area);
                        }