现在我的数据库有域名(domainName) sina.com imper.com www.net ps.com a.tw m.de g.ln 。 sql = " select domainname from table " TLD: com | tw | ln | tw ..... 业务要求: 求出TLD出现的次数 次数最多的为第一名 一次求出第二 ,三 十名 结果是: 该tld + 次数 例如:com 100次。 cn 97次 。。
解决方案 »
- 求一个jsp+struts的例子,在线等
- eclipse 中使用servlet 显示404错误
- http header传值
- 关于超连接的问题
- [高分求解]如何在portlet中获得动态生成的树的当前选中节点?
- 有关 a href="apply-firunitmemo.jsp? 的问题
- 急!写XML文件怎样实现?在线等待。。。
- 一个简单问题!!!!!!!!!!!!!
- 求救!关于forward,小弟实在无法找出原因。一定给分
- 聊聊爬虫
- 求救:com.microsoft.sqlserver.jdbc.SQLServerException: 该语句没有返回结果集。J2EE
- Servlet的批注方式注册
select distinct substr(domainname,locate(',',domainname)+1) tld ,count(*) over(partition by substr(domainname,locate(',',domainname)+1)) from table;
count(*) over(partition by substr(domainname,locate('.',domainname)+1)) count
from table;
或者是简单点:
select distinct tld,count(*) count
from
(
select distinct substr(domainname,locate('.',domainname)+1) tld from table
) a
group by a.tld;主要是看数据,取到tld即可。
(
select 'g.cn' domainname from dual
union all
select 'a.cn' domainname from dual
union all
select 'a.com' domainname from dual
union all
select 'a.net' domainname from dual
union all
select 'a.org' domainname from dual
union all
select 'b.com' domainname from dual
union all
select 'x.cn' domainname from dual
)
select tld , sl , row_number() over(order by sl desc ) pm from
(
select distinct substr(domainname,instr(domainname,'.')+1) tld ,
count(*) over(partition by substr(domainname,instr(domainname,'.')+1)) sl
from t1
) a;
结果:
TLD SL PM
1 cn 3 1
2 com 2 2
3 net 1 3
4 org 1 4