Select top x from each group
时间:2010-11-10
来源:互联网
各位大侠:
Access中如何得到分组前n名的记录?
例如数据表结构如附件图片,如何得到每个Class里面前2名的记录?
除了如下方法之外的方法:
Select * from table as t1 where t1.id in (select top 2 id from table where t1.Class=t2.Class order by score)
因为该方法在数据量大的情况下反应非常慢
Access不能用分区,不知有没有比较快速的办法!
捕获.JPG(21.65 KB)
Access中如何得到分组前n名的记录?
例如数据表结构如附件图片,如何得到每个Class里面前2名的记录?
除了如下方法之外的方法:
Select * from table as t1 where t1.id in (select top 2 id from table where t1.Class=t2.Class order by score)
因为该方法在数据量大的情况下反应非常慢
Access不能用分区,不知有没有比较快速的办法!
附件

2010-11-10 17:02
作者: tmptp 发布时间: 2010-11-10
不用IN速度就会快很多
复制内容到剪贴板
FROM table s
WHERE 2<
(SELECT COUNT(*)
FROM table sc
WHERE s.class=sc.class AND sc.score>=s.score
GROUP BY sc.class)
代码:
SELECT *FROM table s
WHERE 2<
(SELECT COUNT(*)
FROM table sc
WHERE s.class=sc.class AND sc.score>=s.score
GROUP BY sc.class)
作者: taller 发布时间: 2010-11-10
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28