1.有一千万条短信,有重复,以文本文件的形式保存,一行一条,有重复。请用5分钟时间,找出重复出现最多的前10条。
首先我们将文本导入数据库,使用Having子句来实现这样的功能,我们利用如下语句 select count(*) ccount from table1 group by a1 having count(*)>1 order by ccount desc这样得到的第一个记录就是出现重复次数最多的那组数字。
就像楼上说的,可以使用excel,但是excel是有行数限制的,个人觉得第二题其实完全可以导入到数据库中,然后用sql就很容易把结果查出来了。至于说一千万条查询速度很慢的问题,这个完全是可以优化的,这也正好考察了你数据库的知识。关键是看思路,不应该把问题想死了。
2.收藏了1万条url,现在给你一条url,如何找出相似的url。
首先我们将文本导入数据库,使用Having子句来实现这样的功能,我们利用如下语句 select count(*) ccount from table1 group by a1 having count(*)>1 order by ccount desc这样得到的第一个记录就是出现重复次数最多的那组数字。
就像楼上说的,可以使用excel,但是excel是有行数限制的,个人觉得第二题其实完全可以导入到数据库中,然后用sql就很容易把结果查出来了。至于说一千万条查询速度很慢的问题,这个完全是可以优化的,这也正好考察了你数据库的知识。关键是看思路,不应该把问题想死了。
2.收藏了1万条url,现在给你一条url,如何找出相似的url。