日期:2014-05-16  浏览次数:20786 次

如何根据URI统计访问量
家里人打电话过来才知道要吃月饼了....不说了,伤心..

一个题目,比较麻烦,主要考虑效率

数据库里面存着很多条用户访问信息,以 ID-URI 的形式存放,比如:

id1 www.baidu.com/file1
id2 www.soso.com/file/file1
id1 v.sogou.com/
id1 v.soso.com/file/file.html
id2 v.soso.com/file/file.html
.
.
.
idn www.56.tv/film/file1

现在需要找到不同用户访问的共同域名,比如说上面的5条来说,排序应该是这样:
soso.com 2 (2个不同用户访问了soso.com)
sogou.com 1
baidu.com 1

其实就是找到大家普遍喜欢访问的域名,考虑到100w条记录的情况下,怎么写select ?

面试题,大体意思就这样,求助....


------解决方案--------------------
select substring_index(URI,'/',1),count(*)
from table1
group by substring_index(URI,'/',1)
order by 2 desc
------解决方案--------------------
1L好精简的查询语句,对我有用+1, 此贴收藏了。
------解决方案--------------------
先读三遍《数据库系统概论(第四版)》 王珊 萨师煊 高等教育出版社 (掌握基础知识和概念) 

然后再粗略浏览一遍MYSQL的官方手册。(方便以后查找,避免类似于考试的时候,给你本政治书也不知道答案在第几章,第几页)MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html