评论

云开发的答题活动小程序如何计算答题排名

云开发如何计算排名

问题:超过1000人的答题,如何获取答题名次


规则:按得分排名,得分大的排前面,得分相同的按用时排名,用时少的的排前面



已知:答题得分,答题用时


求解:用户排名


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


序号  得分     用时(秒)

01    100    25

02    100    30

03    90     20

04    100    10


db.collection('historys')

    .where({

      num: _.gt(event.num)

    })

    .count()

    

求得num1


db.collection('historys')

    .where({

      num: _.eq(event.num),

      time: _.lt(event.time)

    })

    .count()  

    

求得num2  



排名 = num1 + num2 + 1

    

   

参考

在线答题小程序技术方案征集?? - 微信开放社区 https://developers.weixin.qq.com/community/develop/doc/0006e071ab88a049a56bdc1c251000


探讨答题小程序排名的计算逻辑问题? - 微信开放社区 https://developers.weixin.qq.com/community/develop/article/doc/000462c0848e782eee6ba916f56813

点赞 1
收藏
评论

1 个评论

  • admin
    admin
    2021-05-17

    很好

    2021-05-17
    赞同
    回复
登录 后发表内容