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

MySQL查询排序需求:按sum(value)降序且null名称排最后

MySQL查询:按sum(value)降序排序且name为null的记录排在最后

没问题,这就给你搞定这个查询需求!我们可以通过ORDER BY子句的多条件排序来实现:先把name为null的记录归到优先级更低的分组,再按sum(value)降序排列。结合你给出的SELECT p...开头,完整的查询语句如下:

SELECT p.name, SUM(p.value) AS `sum(value)`
FROM your_table_name p -- 记得把这里替换成你的实际表名
GROUP BY p.name
ORDER BY 
    CASE WHEN p.name IS NULL THEN 1 ELSE 0 END,
    SUM(p.value) DESC;

逻辑说明:

  • CASE WHEN p.name IS NULL THEN 1 ELSE 0 END:给name为null的记录标记为1,其他记录标记为0。排序时0会排在1前面,这样就自动把null的记录挤到了最后。
  • 紧接着的SUM(p.value) DESC:对非null的记录按求和值做降序排序,完全匹配你的需求。

如果你的数据已经是聚合后的结果(比如已经有现成的sum(value)字段),可以简化成下面的语句:

SELECT p.name, p.`sum(value)`
FROM your_aggregated_table p -- 替换为你的实际表名
ORDER BY 
    CASE WHEN p.name IS NULL THEN 1 ELSE 0 END,
    p.`sum(value)` DESC;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:25:18