大家好,关于高效SQL查询:揭示Top 5及其余总和的技巧很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!
保证名称唯一
现在我们要查询count的TOP5以及剩余3项的总和:
namecountE80D60C20A10G7其他10
MySQL
select * from (select * from eg table order bycountdesc limit 5) t union all select "other",sum(count) from eg table where name not in (select name from eg table order bycountdesc limit 5)
Oracle不支持TOP关键字:不过,这看起来并不是很严重,因为它提供了rownum隐式游标,可以实现与TOP类似的功能,比如:
选择前10 名.从哪里.
写成
选择.从.哪里.AND rownum=10
oracle分页
-- ROWNUM不能使用(大于1的值)、=(大于等于1的值)、=(大于等于1的值),否则不会有结果
-- 所以如果直接使用的话只能从1开始
-- rownum 10 没有记录,因为如果第一个不满足而被删除,第二个的rownum又变成1,所以永远不会有满足条件的记录。
从学生中选择*,其中rownum=1;
--如果想使用rownum而不是从1开始,则需要使用如下
select a1.* from (select Student.*,rownum rn from Student) a1 where rn 5;
--分页查询一
select * from (select a1.*,rownum rn from (select * from Student) a1 where rownum=5) where rn=2;
--分页查询二
select a1.* from (select Student.*,rownum rn from Student where rownum=5) a1 where rn=3;
好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!
【高效SQL查询:揭示Top 5及其余总和的技巧】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
这可是个常用的技巧啊!
有16位网友表示赞同!
学习一下这个方法可以提高效率。
有17位网友表示赞同!
看来我要回顾一下SQL查询语句了。
有5位网友表示赞同!
对于报表分析来说很实用。
有8位网友表示赞同!
想用它来分析我公司的销售数据。
有13位网友表示赞同!
比逐条查询快很多吧?
有7位网友表示赞同!
这种排序查询可以用在很多场景啊!
有9位网友表示赞同!
感觉这个方法比较简单易懂,值得学习。
有8位网友表示赞同!
还有其他的方法可以达到同样的效果吗?
有19位网友表示赞同!
这种TOP5的总和统计应该有很多应用吧!
有9位网友表示赞同!
代码实现怎么样呢?可以分享一下吗?
有10位网友表示赞同!
原来Top5可以用SQL直接查询,这真棒!
有8位网友表示赞同!
这个方法看起来很巧妙!
有16位网友表示赞同!
数据分析常用技巧,一定要掌握。
有19位网友表示赞同!
学习新知识总是很有收获的!
有8位网友表示赞同!
用这种方法查询报表数据效率更高吧?
有6位网友表示赞同!
对于一些统计分析来说挺实用的。
有9位网友表示赞同!
这个SQL查询语句应该可以用在很多数据库里吧?
有19位网友表示赞同!
这种排序的方法可以节约时间和资源。
有14位网友表示赞同!
真是个好方法!我要试试看。
有11位网友表示赞同!