关闭

SQL 去除某个字段的重复信息 QQ、微信附近的人实现算法

标签: 算法sql微信
453人阅读 评论(0) 收藏 举报
分类:

QQ、微信附近的人功能,每次点击该选项,发送当前用户经纬度和标示去服务器,然后获取最近出现的人,为了提高效率和记录的更加精准,应该每次都记录该信息。

但是在获取的时候。如果一个人在几分钟内多次点击该条目,其实发送了多次信息,但是其他用户在读取附近的人信息,该人只能显示一次。

所以牵扯一个sql数据库去除重复字段问题。

实现思路一开始选择出某人最新的时间,然后使用in来过滤,后来发现数量量大,实在效率太低。。
所以更新算法,使用内连接来实现该功能。
思路是让自己链接自己。根据最新时间来计算。

select [用户ID],[经度],[维度]from 表名 as a
inner join (select MAX([添加时间])as [添加时间] from 表名  group by [用户ID]) as b
on a.添加时间=b.添加时间 order by [添加时] desc

效率猛增……

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:30579次
    • 积分:537
    • 等级:
    • 排名:千里之外
    • 原创:19篇
    • 转载:20篇
    • 译文:2篇
    • 评论:3条
    最新评论