我已经写了一个查询来查找第二高薪水。我正在使用distinct关键字,但它检索到重复的记录。你如何检索不同的记录?显示重复的记录,而我在sql中使用不同的记录
SELECT
*
FROM
Employees e
WHERE
(1) = (SELECT COUNT(DISTINCT(p.Salary))
FROM
Employees p
WHERE
p.Salary > e.Salary)
我已经写了一个查询来查找第二高薪水。我正在使用distinct关键字,但它检索到重复的记录。你如何检索不同的记录?显示重复的记录,而我在sql中使用不同的记录
SELECT
*
FROM
Employees e
WHERE
(1) = (SELECT COUNT(DISTINCT(p.Salary))
FROM
Employees p
WHERE
p.Salary > e.Salary)
SELECT DISTINCT FROM Employees e WHERE (1) = (SELECT COUNT(DISTINCT(p.Salary))FROM Employees p WHERE p.Salary > e.Salary)
您不能在不指定列名的情况下在选择查询中单独使用DISTINCT –
w e使用截然不同的直接删除重复的值,所以试图使用不同的代替* –
没有你不能做到这一点没有它的标识符 –
哪'RDBMS'您使用 –
您发布的图像,如果这是当前的结果是正确的(有2排,同样的薪水) – dnoeth
什么是WHERE [ 1] –