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

MySQL:如何基于WHERE子句结果计算SUM并用于ORDER BY排序

解决按指定日期后捐赠总额排序的支持者查询需求

嘿,这就帮你搞定这个SQL查询需求!先把你提供的捐赠数据整理成更易读的Markdown表格:

supporterIDdateamount
12018-01-01100
22018-01-0710
32018-01-095000
12018-02-01100
22018-02-0310
12018-02-10100
22018-03-1410
32018-03-185

要实现按2018年2月1日以来的捐赠总额排序的查询,你可以用下面的SQL语句:

SELECT 
    supporterID,
    SUM(amount) AS total_donation_since_20180201
FROM 
    donations
WHERE 
    date >= '2018-02-01'
GROUP BY 
    supporterID
ORDER BY 
    total_donation_since_20180201 DESC;

语句关键部分说明:

  • WHERE date >= '2018-02-01':精准筛选出2018年2月1日及之后的捐赠记录,排除之前的无关数据
  • SUM(amount) AS total_donation_since_20180201:对每个支持者的符合条件的捐赠金额求和,并用别名让结果更直观
  • GROUP BY supporterID:按支持者ID分组,确保每个支持者只生成一条汇总数据
  • ORDER BY total_donation_since_20180201 DESC:按捐赠总额降序排列,让大额捐赠的支持者排在前面(如果需要升序,去掉DESC即可)

执行这个查询后,你会得到这样的结果:

supporterIDtotal_donation_since_20180201
1200
220
35

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:44:05