You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Discord Py中SQL ORDER BY排序异常问题求助

问题分析与解决办法
  • 问题根源:你的SQL语句里,ORDER BY Punktestand DESC是对原始表中的Punktestand字段排序,而非你汇总后的sum(Punktestand)结果。GROUP BY分组后,原字段Punktestand的值是每组内随机一条记录的数值,用它排序自然会出现顺序混乱的情况。

  • 修复方案:把ORDER BY的字段改成汇总后的结果,两种写法都可行:

    1. 给sum结果起别名,用别名排序:
      SELECT ID, sum(Punktestand) AS total_points FROM Mitglieder GROUP BY ID ORDER BY total_points DESC LIMIT 35
      
    2. 直接用sum表达式排序:
      SELECT ID, sum(Punktestand) FROM Mitglieder GROUP BY ID ORDER BY sum(Punktestand) DESC LIMIT 35
      
  • 对应Python代码的调整:如果用第一种带别名的写法,遍历游标时要匹配别名变量:

    async for ID, total_points in cursor:
        desc += f"{counter}. <@{ID}> ## {total_points} Punkt(e)\n"
        counter += 1
    

内容的提问来源于stack exchange,提问作者Mrcl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 12:42:32