2016-09-27 83 views
0

我已经写了一个查询来查找第二高薪水。我正在使用distinct关键字,但它检索到重复的记录。你如何检索不同的记录?显示重复的记录,而我在sql中使用不同的记录

SELECT 
    * 
FROM 
    Employees e 
WHERE 
    (1) = (SELECT COUNT(DISTINCT(p.Salary)) 
      FROM 
       Employees p 
      WHERE 
       p.Salary > e.Salary) 

enter image description here

+1

哪'RDBMS'您使用 –

+0

您发布的图像,如果这是当前的结果是正确的(有2排,同样的薪水) – dnoeth

+0

什么是WHERE [ 1] –

回答

-1
SELECT DISTINCT FROM Employees e WHERE (1) = (SELECT COUNT(DISTINCT(p.Salary))FROM Employees p WHERE p.Salary > e.Salary) 
+1

您不能在不指定列名的情况下在选择查询中单独使用DISTINCT –

+0

w e使用截然不同的直接删除重复的值,所以试图使用不同的代替* –

+0

没有你不能做到这一点没有它的标识符 –