2016-04-10 129 views
0

使用sql,如何通過查詢找到第二大數字?SQL查詢 - 第二大數

+0

'選擇〜0 - 1;';-) –

+0

我想,這個問題是有用的,因爲它很簡單,但具體... –

回答

2

或使用限制:

SELECT number 
FROM numbers 
WHERE 1=1 
ORDER BY number DESC 
LIMIT 1, 1 
0

對於第二大使用本: -

SELECT MAX(num) FROM TABLE 
    WHERE num NOT IN (SELECT MAX(num) FROM Employee) 

如果你需要使用它通用的方式,然後用這個來獲得第N大的數字

SELECT * /*This is the outer query part */ 
FROM TABLE table1 
WHERE (N-1) = (/* Subquery starts here */ 
SELECT COUNT(DISTINCT(table2.num)) 
FROM TABLE table2 
WHERE table2.num > table1.num) 

因此,使用上面的查詢,如果u想找到第二大再查詢更改...

SELECT * /*This is the outer query part */ 
FROM TABLE table1 
WHERE 1 = (/* Subquery starts here */ 
SELECT COUNT(DISTINCT(table2.num)) 
FROM TABLE table2 
WHERE table2.num > table1.num)