MySQL查询: 利用分组取TOP N条记录(mysql分组取前n条)
**MySQL查询 : 利用分组取 TOP N 条记录**
MySQL的查询功能可以让用户灵活地提取数据库中的数据,它有一个功能可以帮助使用者得到最重要的TOP N 条记录:分组取TOP N条记录。
这里以MySQL中一个功能测试题为例:找出多个学淘用户得分(score)Top N 的学生.
第一步:
首先,使用**SELECT** 语句查找所有多个学生的用户得分score. 例如:
SELECT name, score
FROM users
第二步:
在上面一步中,我们已经获得了所有多个学生的用户得分信息,之后我们可以使用**GROUP BY** 语句来根据得分(score)来让数据按照score降序分组:
SELECT name, score
FROM usersGROUP BY score DESC
第三步:
在上面的语句中,我们已经分组完成,接下来我们可以使用**LIMIT** 语句来取出TOP N 条数据,如需取出TOP 3 条,可以写出下面的语句:
SELECT name,score
FROM usersGROUP BY score DESC
LIMIT 3
这样,我们就可以得出多个学淘用户得分Top N 条记录了。
通过MySQL中的GROUP BY 和LIMIT 语句,我们可以实现取出TOP N 条记录的功能,而不再需要对已经提取数据进行二次筛选。 利用这个功能可以加快查询速度,提高查询的效率。