2010-08-02 114 views
1

如何根据列'分数'选择表中的100个最大行?从表中选择n个最大值

我能找到与“成绩”一栏的最大比分:

SELECT max(score) FROM mTable 

然后获得该行(S):

SELECT * FROM mTable WHERE score=largestScore 

但我会怎么包装这并获得以下99个得分较低的行?

谢谢。

回答

9

用途:

SELECT t.* 
FROM MTABLE t 
ORDER BY t.score DESC 
LIMIT 100 
+0

感谢。应该真的想到这样做! – Jason 2010-08-02 01:07:31

+0

@Mitch小麦:我的格式!我的美丽格式... – 2010-08-02 01:17:09

+0

好吧,我确实怀疑它是否是故意的,但它看起来不像任何标准格式! – 2010-08-02 01:49:46

2

格式化:

Select * 
from mtable 
order by score desc 
limit 100 
+0

感谢omg,没有我的手机上的代码格式链接:) – Tahbaza 2010-08-02 01:14:28

1
SELECT columnList 
FROM mTable 
ORDER BY score DESC 
LIMIT 100 
+0

'columnlist',呃? :) – 2010-08-02 01:07:47

+0

@OMG:我使用'*'时觉得脏! ;) – 2010-08-02 01:12:38