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 users
GROUP BY score DESC

第三步:

在上面的语句中,我们已经分组完成,接下来我们可以使用**LIMIT** 语句来取出TOP N 条数据,如需取出TOP 3 条,可以写出下面的语句:

SELECT name,score
FROM users
GROUP BY score DESC
LIMIT 3

这样,我们就可以得出多个学淘用户得分Top N 条记录了。

通过MySQL中的GROUP BY 和LIMIT 语句,我们可以实现取出TOP N 条记录的功能,而不再需要对已经提取数据进行二次筛选。 利用这个功能可以加快查询速度,提高查询的效率。


数据运维技术 » MySQL查询: 利用分组取TOP N条记录(mysql分组取前n条)