100块寻求小程序技术解决方案?
发布于 5 年前 作者 vkang 4474 次浏览 来自 问答

寻求一个解决方案:

目前答题活动有10 0000 人参与,满分100分,每个微信用户只参加一次答题,也就是目前集合有10 0000条记录,那么当一个用户进来的时候怎么获取他的排名?

排名规则:分数优先,分数相同的,按答题用时从短到长升序排列。

数据库选择:目前使用云开发,答题记录放在集合historys里面,也就是historys集合目前躺着10 0000条答题记录数据。


已知

1)当前用户\_openid

2)10000 条答题记录 historys

求解

该用户的排名?

只说下思路即可,不需要具体实现代码?

方案一经录用,打赏100,

方案可不唯一,也就是说最终方案可不止一个,视参与情况,最多会打赏最优的五个方案,如果有效方案多于10个,最少打赏二个方案,最终会在该贴公布具体打赏情况。

具体方案可评论区留言,同一技术方案,以提出时间最早有效。

具体数据结构如下所示


该方案征集有效期为3天,截止时间为本周日晚上9点,即12月20号晚上9点

  

~~

由于社区私信不能发收款码图片,请评论第一,第二两位热心用户,在下面文章评论区留下收款码截图,或者直接微信联系我,我好安排后续的转账工作,非常感谢各位的参与

学习贯彻十九届五中全会知识竞赛答题活动小程序? - 微信开放社区 <a href="https://developers.weixin.qq.com/community/develop/article/doc/00068ecced0278a1dd6b58f2051413" rel="noopener noreferrer" target="_blank">https://developers.weixin.qq.com/community/develop/article/doc/00068ecced0278a1dd6b58f2051413</a>

  

再次感谢
10 回复

连白嫖的机会都不给我。

按照分数和答题时间排序,取rownum

少的时候次次查,大的时候静态的就行,一天跑一次排行榜

【小客服】没审题,所以我这个不是重复。

1、获取当前用户分数

2、查询historys集合中,分数大于等于该用户的分数,且答题用时小于等于该用户用时的人数,count。

如果用户分数已知(登录时已查),则只需消耗一次api(count查询)

由于社区私信不能发收款码图片,请评论第一,第二两位热心用户,在下面文章评论区留下收款码截图,或者直接微信联系我,我好安排后续的转账工作,非常感谢各位的参与

学习贯彻十九届五中全会知识竞赛答题活动小程序? - 微信开放社区 https://developers.weixin.qq.com/community/develop/article/doc/00068ecced0278a1dd6b58f2051413

Redis 有序集合了解一下

帖子先收藏,又一次学习的机会啊。

先取大于该用户的分数的人数,再取等于该用户分数的人里面时间小于该用户人数,两个相加再加1

1、获取当前用户分数

2、count ,计算大于等于本用户分数,且答题时间比当前用户早的人数,

3、over。

哈哈100块还不够流量呢

回到顶部