来看看这个SQl怎么写,有关分组取前N条的
一个表中,希望按照groupid分组后,再在组中按照score排序,取出每组的前50%的记录(不一定是50%,可能会是任何一个比例。)
create table testTable
(
groupid int,
score int,
title varchar(64)
)
insert into testtable values(1,80, 'title1')
insert into testtable values(1,90, 'title2')
insert into testtable values(1,67, 'title3')
insert into testtable values(1,93, 'title4')
insert into testtable values(1,84, 'title5')
insert into testtable values(2,80, 'title6')
insert into testtable values(2,40, 'title7')
insert into testtable values(2,60, 'title8')
insert into testtable values(2,50, 'title9')
insert into testtable values(2,59, 'title10')
insert into testtable values(2,45, 'title11')
insert into testtable values(2,65, 'title12')
希望得到:
1 90 title2
1 93 title4
1 84 title5
2 80 title6
2 60 title8
2 59 title10
2 65 title12
create table testTable
(
groupid int,
score int,
title varchar(64)
)
insert into testtable values(1,80, 'title1')
insert into testtable values(1,90, 'title2')
insert into testtable values(1,67, 'title3')
insert into testtable values(1,93, 'title4')
insert into testtable values(1,84, 'title5')
insert into testtable values(2,80, 'title6')
insert into testtable values(2,40, 'title7')
insert into testtable values(2,60, 'title8')
insert into testtable values(2,50, 'title9')
insert into testtable values(2,59, 'title10')
insert into testtable values(2,45, 'title11')
insert into testtable values(2,65, 'title12')
希望得到:
1 90 title2
1 93 title4
1 84 title5
2 80 title6
2 60 title8
2 59 title10
2 65 title12
...全文
相关推荐
分组并排序取前N
标题“分组并排序取前N”涉及到数据库查询中的一个重要概念,这通常指的是在SQL查询中使用`GROUP BY`、`ORDER BY`以及`LIMIT`子句来对数据进行分组、排序,并提取出每组中排名靠前的N
mysql使用GROUP BY分组实现取前N条记录的方法
"mysql使用GROUP BY分组实现取前N条记录的方法"在SQL查询中,有时候我们需要在分组后获取每组的前N条记录,例如在统计每个班级前两名学生时。MySQL提供了多种方法来实现这一需求。本
MySql实现分组取n条最大记录.txt
### 总结本篇文章详细介绍了如何使用MySQL实现分组取n条最大记录的功能。通过精心设计的SQL查询语句,我们可以有效地解决这类问题。
SQL Server查询前N条记录的常用方法小结
在SQL Server中,查询前N条记录是常见的需求,特别是在数据检索或数据分析的场景中。以下将详细讲解三种常用的方法来实现这一操作。
SQL 每组前N条记录
"SQL 查询每组前N条记录的方法"在SQL中,有时我们需要查询每组数据中的前N条记录,比如找出每个月销售额排名前10的产品或获取每个类别的考试成绩前三名的学生。以下是在两种不同的数据库系统——


