博客
关于我
mysql会员求积分_MySql-统计所有会员的最高前10次的积分和
阅读量:790 次
发布时间:2023-02-11

本文共 719 字,大约阅读时间需要 2 分钟。

技术文档:会员排名系统优化方案

针对现有会员排名系统的积分计算规则进行优化,具体方案如下:

一、用户需求分析当前系统要求会员排名基于最近一年内所有积分总和进行排序,存在以下问题:

  • 积分排名逻辑不清晰
  • 数据冗余影响性能
  • 二、系统现状现有数据库表A字段包含:

    • PersonalMember_ID(会员ID)
    • CompetitionScore_Point(积分)

    三、优化方案实施采用分组查询并保留前10高分记录的方式进行排名,具体如下:

  • 优化逻辑使用高分排序保留前10的方式,避免累加所有积分,提升效率。

  • SQL实现方法以下为正确的查询方式:SELECT a.PersonalMember_ID, a.CompetitionScore_PointFROM A aLEFT JOIN A b ON a.PersonalMember_ID = b.PersonalMember_ID AND a.CompetitionScore_Point > b.CompetitionScore_PointGROUP BY a.PersonalMember_ID, a.CompetitionScore_ID, a.CompetitionScore_PointHAVING COUNT(b.CompetitionScore_ID) <10ORDER BY a.PersonalMember_ID, a.CompetitionScore_Point DESC

  • 四、技术关键点

  • 使用LEFT JOIN确保包含所有记录
  • GROUP BY避免数据重复
  • HAVING条件控制保留数量
  • ORDER BY按高分排序
  • 以上方案可直接应用于现有数据库,确保排名准确,性能优化。

    转载地址:http://bobfk.baihongyu.com/

    你可能感兴趣的文章
    MySQL5.7.18主从复制搭建(一主一从)
    查看>>
    MySQL5.7.19-win64安装启动
    查看>>
    mysql5.7.19安装图解_mysql5.7.19 winx64解压缩版安装配置教程
    查看>>
    MySQL5.7.37windows解压版的安装使用
    查看>>
    mysql5.7免费下载地址
    查看>>
    mysql5.7命令总结
    查看>>
    mysql5.7安装
    查看>>
    mysql5.7性能调优my.ini
    查看>>
    MySQL5.7新增Performance Schema表
    查看>>
    Mysql5.7深入学习 1.MySQL 5.7 中的新增功能
    查看>>
    Webpack 之 basic chunk graph
    查看>>
    Mysql5.7版本单机版my.cnf配置文件
    查看>>
    mysql5.7的安装和Navicat的安装
    查看>>
    mysql5.7示例数据库_Linux MySQL5.7多实例数据库配置
    查看>>
    Mysql8 数据库安装及主从配置 | Spring Cloud 2
    查看>>
    mysql8 配置文件配置group 问题 sql语句group不能使用报错解决 mysql8.X版本的my.cnf配置文件 my.cnf文件 能够使用的my.cnf配置文件
    查看>>
    MySQL8.0.29启动报错Different lower_case_table_names settings for server (‘0‘) and data dictionary (‘1‘)
    查看>>
    MYSQL8.0以上忘记root密码
    查看>>
    Mysql8.0以上重置初始密码的方法
    查看>>
    mysql8.0新特性-自增变量的持久化
    查看>>