2016-09-27 76 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

沒有你不能做到這一點沒有它的標識符 –