oracle分页rownum与group by共存问题
select*from(selectrownumasrn,typefromAwhererownum<=10groupbytype)wherern>5这样分页会报错,因为r...
select * from (select rownum as rn,type from A where rownum<=10 group by type)
where rn > 5
这样分页会报错,因为rownum没有在group by里面
不知道可不可以写成这样
select * from (select type from A where rownum<=10 group by type)
where rownum> 5
这样写是没报错,不过不知道会不会出现偏差
求大神指教 展开
where rn > 5
这样分页会报错,因为rownum没有在group by里面
不知道可不可以写成这样
select * from (select type from A where rownum<=10 group by type)
where rownum> 5
这样写是没报错,不过不知道会不会出现偏差
求大神指教 展开
4个回答
展开全部
select * from (select type from A where rownum<=10 group by type)
where rownum> 5这段sql查询的结果肯定会出现偏差的,因为最外层嵌套的查询语句是直接类似于select * from a where rownum>5,这样的范围是查询不出任何记录的;如果select * from (select rownum as rn,type from A where rownum<=10 group by type)where rn > 5这段sql没有包含rownum的group by,那么把rownum加入group by就行了select * from (select rownum as rn,type from A where rownum<=10 group by rownum ,type)where rn > 5
where rownum> 5这段sql查询的结果肯定会出现偏差的,因为最外层嵌套的查询语句是直接类似于select * from a where rownum>5,这样的范围是查询不出任何记录的;如果select * from (select rownum as rn,type from A where rownum<=10 group by type)where rn > 5这段sql没有包含rownum的group by,那么把rownum加入group by就行了select * from (select rownum as rn,type from A where rownum<=10 group by rownum ,type)where rn > 5
展开全部
你这儿的group by type,起什么作用?
如果是排序的话,你order by就可以了。
如果是排序的话,你order by就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的具体要实现什么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
查询一般是建议查询多少条内容。
为什么不是rownum<=5呢?
或者是说有个限度?
如果你的数据很多,内存就会溢出的。
为什么不是rownum<=5呢?
或者是说有个限度?
如果你的数据很多,内存就会溢出的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询