sql 分组查询 分组查询查询每组的前几条数据

 我来答
szm341
2012-09-21 · TA获得超过6726个赞
知道大有可为答主
回答量:5005
采纳率:100%
帮助的人:5164万
展开全部
sqlserver:
select * from (
select *,row_number() over(partition by 分组列 order by 组内排序列) as rn from table
) as a where rn<=2
更多追问追答
追问
这个我知道,我也是这么写的,但是开始的时候用的是id,后来换条件后两个表级联查询大概不到十万条数据,就挂了,查 了俩多小时才查出来
追答
首先给你的table分组列、排序列,以及输出列加索引,输出列加覆盖索引
若此查询仍很慢,将内部查询select into到临时表,给临时表中rn创建索引
输出列创建覆盖索引
superjcn8796
2012-09-21
知道答主
回答量:8
采纳率:0%
帮助的人:3.7万
展开全部
where rownum<=行数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
okliuyuqing001
2012-09-21 · TA获得超过178个赞
知道答主
回答量:207
采纳率:50%
帮助的人:92.5万
展开全部
where rownum <= 数字 你懂了吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式