oracle的SQL语句求助
时间:2011-11-04
来源:互联网
现在要写一个SQL语句求,整张表里那个字段出现次数最多的前5名
比如说 C出现100次 是最多的 那就排第一
Y出现99次 是第二多的 那就排第二
F出现90次 是第三多的 那就排第三
以此类推 要求前5项名
这个SQL怎么写呢?
紧急求助 谢谢
作者: crazymanonly 发布时间: 2011-11-04
作者: opps_zhou 发布时间: 2011-11-04
作者: opps_zhou 发布时间: 2011-11-04
作者: crazymanonly 发布时间: 2011-11-04
作者: crazymanonly 发布时间: 2011-11-04
作者: java3344520 发布时间: 2011-11-04
1楼和2楼已写很清楚了
作者: pubb1111 发布时间: 2011-11-04
前5名 怎么体现 是不是有个什么TOP5之类的 不知道加在哪啊?呵呵
试试这样
SQL code
SELECT TOP 5 columnname,count(columnname) AS c FROM table_name GROUP BY columnname ORDER BY c desc
作者: draftbeer 发布时间: 2011-11-04
这个SQL怎么写呢?
紧急求助 谢谢
select t1 , cnt from (
select t1,sum(1) cnt from TABLE
group by t1
order by sum(1)
) t
where rownum <= 5
作者: yixilan 发布时间: 2011-11-04
select * from (select col1, count(*) cnt from table_name group by col1 order by count(*) desc) where rownum < 6;
作者: xiaoyu871225 发布时间: 2011-11-04
引用楼主 crazymanonly 的回复:
这个SQL怎么写呢?
紧急求助 谢谢
select t1 , cnt from (
select t1,sum(1) cnt from TABLE
group by t1
order by sum(1)
) t
where rownum <= 5
作者: xiaoyu871225 发布时间: 2011-11-04
前5名 怎么体现 是不是有个什么TOP5之类的 不知道加在哪啊?呵呵
1+2楼的结果就是一张表,在对这张表进行TOP就可以了。简单的蠢方法。个人见解
作者: F546445693 发布时间: 2011-11-04
再说你这里不能直接order by c的 别名不能直接使用,要使用该别名需要再嵌套一层
引用 3 楼 crazymanonly 的回复:
前5名 怎么体现 是不是有个什么TOP5之类的 不知道加在哪啊?呵呵
试试这样
SQL code
SELECT TOP 5 columnname,count(columnname) AS c FROM table_name
GROUP BY columnname
ORDER BY c desc
作者: xiaoyu871225 发布时间: 2011-11-04
如果不嵌套的话,这个group by的话只会对此5条记录进行分组、排序,而并非group by之后的前5名
group by 和 rownum <= 5 搞定!
1楼和2楼已写很清楚了
作者: xiaoyu871225 发布时间: 2011-11-04
你这个top是在SQL Server里用的吧。 oracle里没这个用法,oracle中可以用rownum来控制 top 5就相当于rownum <=5. 楼主可以自己尝试下rownum放里面和嵌套在外面的效果有什么区别,自己体会下。
再说你这里不能直接order by c的 别名不能直接使用,要使用该别名需要再嵌套一层
引用 7 楼 draftbeer 的回复:
引用 3 楼 cra……
是的,oracle 里边没有这种用法。

作者: draftbeer 发布时间: 2011-11-04
作者: pubb1111 发布时间: 2011-11-04
select count(xx) ,rank() over(order by count(xx) desc ) as rk from tab1 t group by t.xx) b
where b.rk<=5
作者: programmerxiaocai 发布时间: 2011-11-04
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28