2011-08-20 63 views
2

我有一個表student與字段id,名稱和標記。 我需要得到第二大分數的學生姓名。從MySQL表獲取第二大標記

我想:

SELECT DISTINCT name FROM stud ORDER BY mark DESC LIMIT 2,1 

,但僅返回一個具有第二第二大標記學生姓名。

我需要列出所有學生姓名,如果他們中的很多人有第二大標記。

我該怎麼做?

回答

5
SELECT DISTINCT 
    name, mark 
FROM 
    stud 
WHERE 
    mark = (SELECT MAX(mark) FROM stud WHERE mark < (SELECT MAX(mark) FROM stud)) 
ORDER BY 
    name 
+0

非常感謝..工作 – AGK

+0

@AGK你應該接受如果它的工作的答案。 –

0

這也與上述類似。

SELECT DISTINCT name, mark 
FROM stud WHERE mark = (SELECT mark FROM stud ORDER BY mark DESC LIMIT 1, 1) 
ORDER BY name 
0

我們將通過使用波紋管查詢得到螺柱表的第二大標記。

SELECT a.* 
FROM 
    stud as a 
WHERE 
    2= (SELECT COUNT(b.id) FROM stud as B WHERE a.mark <=b.mark)