0
我想了解以下查詢:MySQL-任何一個可以請解釋這個查詢
SELECT DISTINCT salary
FROM employees a
WHERE 3 >= (
SELECT COUNT(DISTINCT salary)
FROM employees b
WHERE b.salary <= a.salary
)
ORDER BY a.salary DESC;
我想了解以下查詢:MySQL-任何一個可以請解釋這個查詢
SELECT DISTINCT salary
FROM employees a
WHERE 3 >= (
SELECT COUNT(DISTINCT salary)
FROM employees b
WHERE b.salary <= a.salary
)
ORDER BY a.salary DESC;
從內部SELECT(相關的子查詢)開始。這樣的查詢將針對外部查詢中的每一行執行。那它有什麼作用?
返回小於或等於當前員工工資的唯一工資數量。
SELECT COUNT(DISTINCT salary)
FROM employees b
WHERE b.salary <= a.salary
因此,鑑於外部選擇的當前行的數量,這是做什麼?返回唯一的薪金(按順序),其中從子查詢返回的數量少於或等於3
SELECT DISTINCT salary
FROM employees a
WHERE 3 >= (some number)
ORDER BY a.salary DESC;
全部放在一起,我們取:
獨特的工資情況,以便在這種薪水是最差的3.
我認爲這個查詢應該返回3發最差的工資!
明白了..謝謝:) –